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 |
---|---|
|
Menggunakan port default untuk server FTP (port 21). |
|
Menggunakan port default untuk server Gopher (port 70). Catatan Windows XP dan Windows Server 2003 R2 dan yang lebih lama saja.
|
|
Menggunakan port default untuk server HTTP (port 80). |
|
Menggunakan port default untuk server Secure Hypertext Transfer Protocol (HTTPS) (port 443). |
|
Menggunakan port default untuk server firewall SOCKS (port 1080). |
|
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 |
---|---|
|
Layanan FTP. |
|
Layanan Gopher. Catatan Windows XP dan Windows Server 2003 R2 dan yang lebih lama saja.
|
|
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
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 |