Bagikan melalui


Fungsi InternetConnectW (wininet.h)

Membuka Protokol Transfer File (FTP) atau sesi HTTP untuk situs tertentu.

Sintaks

HINTERNET InternetConnectW(
  [in] HINTERNET     hInternet,
  [in] LPCWSTR       lpszServerName,
  [in] INTERNET_PORT nServerPort,
  [in] LPCWSTR       lpszUserName,
  [in] LPCWSTR       lpszPassword,
  [in] DWORD         dwService,
  [in] DWORD         dwFlags,
  [in] DWORD_PTR     dwContext
);

Parameter

[in] hInternet

Menangani yang dikembalikan oleh panggilan sebelumnya ke InternetBuka.

[in] lpszServerName

Penunjuk ke string yang dihentikan null yang menentukan nama host server Internet. Secara bergantian, string dapat berisi nomor IP situs, dalam format desimal putus-putus ASCII (misalnya, 11.0.1.45).

[in] nServerPort

Port Protokol Kontrol Transmisi/Protokol Internet (TCP/IP) pada server. Bendera ini hanya mengatur port yang digunakan. Layanan ini ditetapkan oleh nilai dwService. Parameter ini bisa menjadi salah satu nilai berikut.

Nilai Makna
INTERNET_DEFAULT_FTP_PORT
Menggunakan port default untuk server FTP (port 21).
INTERNET_DEFAULT_GOPHER_PORT
Menggunakan port default untuk server Gopher (port 70).
Catatan Windows XP dan Windows Server 2003 R2 dan yang lebih lama saja.
 
INTERNET_DEFAULT_HTTP_PORT
Menggunakan port default untuk server HTTP (port 80).
INTERNET_DEFAULT_HTTPS_PORT
Menggunakan port default untuk server Secure Hypertext Transfer Protocol (HTTPS) (port 443).
INTERNET_DEFAULT_SOCKS_PORT
Menggunakan port default untuk server firewall SOCKS (port 1080).
INTERNET_INVALID_PORT_NUMBER
Menggunakan port default untuk layanan yang ditentukan oleh dwService.

[in] lpszUserName

Penunjuk ke string yang dihentikan null yang menentukan nama pengguna untuk masuk. Jika parameter ini NULL, fungsi menggunakan default yang sesuai. Untuk protokol FTP, defaultnya adalah "anonim".

[in] lpszPassword

Penunjuk ke string yang dihentikan null yang berisi kata sandi yang akan digunakan untuk masuk. Jika lpszPassword dan lpszUsernameadalah NULL, fungsi ini menggunakan kata sandi "anonim" default. Dalam kasus FTP, kata sandi default adalah nama email pengguna. Jika lpszPassword adalah NULL, tetapi lpszUsername bukan NULL, fungsi menggunakan kata sandi kosong.

[in] dwService

Jenis layanan yang akan diakses. Parameter ini bisa menjadi salah satu nilai berikut.

Nilai Makna
INTERNET_SERVICE_FTP
Layanan FTP.
INTERNET_SERVICE_GOPHER
Layanan Gopher.
Catatan Windows XP dan Windows Server 2003 R2 dan yang lebih lama saja.
 
INTERNET_SERVICE_HTTP
Layanan HTTP.

[in] dwFlags

Opsi khusus untuk layanan yang digunakan. Jika
dwService INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE menyebabkan aplikasi menggunakan semantik FTP pasif.

[in] dwContext

Penunjuk ke variabel yang berisi nilai yang ditentukan aplikasi yang digunakan untuk mengidentifikasi konteks aplikasi untuk handel yang dikembalikan dalam panggilan balik.

Menampilkan nilai

Mengembalikan handel yang valid ke sesi jika koneksi berhasil, atau NULL sebaliknya. Untuk mengambil informasi kesalahan yang diperluas, panggil GetLastError. Aplikasi juga dapat menggunakan InternetGetLastResponseInfo untuk menentukan mengapa akses ke layanan ditolak.

Keterangan

Tabel berikut menjelaskan perilaku untuk empat pengaturan yang mungkin dari lpszUsername dan lpszPassword.

lpszUsername lpszPassword Nama pengguna dikirim ke server FTP Kata sandi dikirim ke server FTP
NULL NULL "anonim" Nama email pengguna
String non-NULL NULL lpszUsername ""
NULL String non-NULL KESALAHAN KESALAHAN
String non-NULL String non-NULL lpszUsername lpszPassword
 

Untuk situs FTP, InternetConnect benar-benar membangun koneksi dengan server; untuk yang lain, koneksi aktual tidak dibuat sampai aplikasi meminta transaksi tertentu.

Untuk efisiensi maksimum, aplikasi yang menggunakan protokol HTTP harus mencoba meminimalkan panggilan ke InternetConnect dan menghindari panggilan fungsi ini untuk setiap transaksi yang diminta oleh pengguna. Salah satu cara untuk mencapainya adalah dengan menyimpan cache kecil handel yang dikembalikan dari InternetConnect; ketika pengguna membuat permintaan ke server yang diakses sebelumnya, handel sesi tersebut masih tersedia.

Setelah aplikasi panggilan selesai menggunakan handel HINTERNET yang dikembalikan oleh InternetConnect, aplikasi harus ditutup menggunakan fungsi InternetCloseHandle .

Catatan Ketika permintaan dikirim mode asinkron (parameter dwFlagsInternetOpen menentukan INTERNET_FLAG_ASYNC), dan parameter dwContext adalah nol (INTERNET_NO_CALLBACK), fungsi panggilan balik yang diatur dengan InternetSetStatusCallback pada handel koneksi tidak akan dipanggil, namun, panggilan masih akan dilakukan dalam mode asinkron.

Contoh penggunaan InternetConnect dapat ditemukan dalam topik berikut.

Seperti semua aspek lain dari Api WinINet, fungsi ini tidak dapat dipanggil dengan aman dari dalam DllMain atau konstruktor dan destruktor objek global.

Catatan WinINet tidak mendukung implementasi server. Selain itu, itu tidak boleh digunakan dari layanan. Untuk implementasi atau layanan server, gunakan Microsoft Windows HTTP Services (WinHTTP).
 

Catatan

Header wininet.h mendefinisikan InternetConnect sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header wininet.h
Pustaka Wininet.lib
DLL Wininet.dll

Lihat juga

Mengaktifkan Fungsionalitas Internet

Fungsi WinINet