Bagikan melalui


Bendera opsi

Bendera opsi berikut didukung oleh WinHttpQueryOption dan WinHttpSetOption.

WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS

Defaultnya adalah FALSE. Jika diatur ke TRUE, WinHTTP tidak menjamin kemajuan jika panggilan balik status diblokir oleh aplikasi klien.

Aplikasi klien harus berhati-hati untuk melakukan operasi minimal dalam panggilan balik tanpa memblokir, kembali secepat mungkin, dan khususnya tidak boleh menunggu panggilan WinHTTP berikutnya. Jika tidak mengikuti panduan ini, kemungkinan akan ada dampak performa negatif atau potensi aplikasi macet. Jika digunakan dengan cara yang ditentukan, opsi ini dapat meningkatkan performa.

WINHTTP_OPTION_AUTOLOGON_POLICY

Mengatur nilai bilangan bulat panjang yang tidak ditandatangani yang menentukan Kebijakan Masuk Otomatis dengan salah satu nilai berikut.

Istilah Deskripsi
WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH Kredensial default tidak digunakan. Perhatikan bahwa bendera ini hanya berlaku jika Anda menentukan server dengan nama komputer yang sebenarnya. Ini tidak akan berlaku, jika Anda menentukan server dengan "localhost" atau alamat IP.
WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW Log masuk terautentikasi menggunakan kredensial default dilakukan untuk semua permintaan.
WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM Log masuk yang diautentikasi menggunakan kredensial default hanya dilakukan untuk permintaan di Intranet lokal.

WINHTTP_OPTION_BACKGROUND_CONNECTIONS

Ketika Anda mengatur opsi ini pada handel sesi, Anda harus meneruskan jumlah koneksi yang ingin Anda buka. Kemudian, setelah pertama kali mengirim permintaan, daripada hanya membuka satu koneksi, WinHttp membuka sejumlah koneksi secara paralel. Ini dapat meningkatkan performa permintaan berikutnya ke tujuan yang sama, yang tidak akan memiliki overhead pembentukan koneksi.

WINHTTP_OPTION_CALLBACK

Mengambil penunjuk ke fungsi panggilan balik yang diatur dengan WinHttpSetStatusCallback.

WINHTTP_OPTION_CLIENT_CERT_CONTEXT

Mengatur konteks sertifikat klien. Jika aplikasi menerima ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED, aplikasi harus memanggil WinHttpSetOption untuk menyediakan sertifikat sebelum mencoba kembali permintaan. Sebagai bagian dari pemrosesan opsi ini, WinHttp memanggil CertDuplicateCertificateContext pada konteks sertifikat yang disediakan pemanggil sehingga konteks sertifikat dapat dirilis secara independen oleh pemanggil.

Catatan

Aplikasi tidak boleh mencoba menutup penyimpanan sertifikat dengan bendera CERT_CLOSE_STORE_FORCE_FLAG dalam panggilan ke CertCloseStore pada penyimpanan sertifikat tempat konteks sertifikat diambil. Pelanggaran akses dapat terjadi.

Saat server meminta sertifikat klien, WinHttpSendRequest, atau WinHttpReceiveResponse mengembalikan kesalahan ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED . Jika server meminta sertifikat tetapi tidak memerlukannya, aplikasi dapat menentukan opsi ini untuk menunjukkan bahwa server tidak memiliki sertifikat. Server dapat memilih skema autentikasi lain atau mengizinkan akses anonim ke server. Aplikasi ini menyediakan makro WINHTTP_NO_CLIENT_CERT_CONTEXT dalam parameter lpBuffer dari WinHttpSetOption seperti yang diperlihatkan dalam contoh kode berikut.

BOOL fRet = WinHttpSetOption(hRequest,
                             WINHTTP_OPTION_CLIENT_CERT_CONTEXT,
                             WINHTTP_NO_CLIENT_CERT_CONTEXT,
                             0);

Jika server memerlukan sertifikat klien, server dapat mengirim kode status HTTP 403 sebagai respons. Untuk informasi selengkapnya, lihat opsi WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST .

WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST

Mengambil struktur SecPkgContext_IssuerListInfoEx saat kesalahan dari WinHttpSendRequest atau WinHttpReceiveResponseERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED. Daftar pengeluar sertifikat dalam struktur berisi daftar Otoritas Sertifikat (CA) yang dapat diterima dari server. Aplikasi klien dapat memfilter daftar CA untuk mengambil sertifikat klien untuk autentikasi SSL.

Sebagai alternatif, jika server meminta sertifikat klien, tetapi tidak memerlukannya, aplikasi bisa memanggil WinHttpSetOption dengan opsi WINHTTP_OPTION_CLIENT_CERT_CONTEXT . Untuk informasi selengkapnya, lihat opsi WINHTTP_OPTION_CLIENT_CERT_CONTEXT .

WINHTTP_OPTION_CODEPAGE

Mengatur halaman kode yang digunakan untuk memproses URL (yaitu, string kueri). Defaultnya adalah UTF8.

WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH

Mengatur nilai bilangan bulat panjang yang tidak ditandatangani yang menentukan apakah Autentikasi Paspor dalam autentikasi WinHTTP diaktifkan. Nilainya bisa menjadi salah satu dari yang berikut ini:

Istilah Deskripsi
WINHTTP_DISABLE_PASSPORT_AUTH Autentikasi Microsoft Passport dinonaktifkan. Ini adalah default.
WINHTTP_DISABLE_PASSPORT_KEYRING Keyring Paspor dinonaktifkan. Ini adalah default.
WINHTTP_ENABLE_PASSPORT_AUTH Autentikasi paspor diaktifkan.
WINHTTP_ENABLE_PASSPORT_KEYRING Keyring Paspor diaktifkan.

WINHTTP_OPTION_CONNECT_RETRIES

Mengatur atau mengambil nilai bilangan bulat panjang yang tidak ditandatangani yang berisi berapa kaliWinHTTP mencoba menyambungkan ke host. Microsoft Windows HTTP Services (WinHTTP) hanya mencoba sekali per alamat Protokol Internet (IP). Misalnya, jika Anda mencoba menyambungkan ke host multihomed yang memiliki 10 alamat IP dan WINHTTP_OPTION_CONNECT_RETRIES diatur ke 7, maka WinHTTP hanya mencoba menyambungkan ke tujuh alamat IP pertama. Mengingat set yang sama dengan 10 alamat IP, jika WINHTTP_OPTION_CONNECT_RETRIES diatur ke 20, WinHTTP mencoba masing-masing dari 10 hanya sekali. Jika upaya koneksi masih gagal setelah jumlah upaya yang ditentukan, atau jika batas waktu koneksi kedaluwarsa sebelum itu, permintaan dibatalkan. Nilai default untuk WINHTTP_OPTION_CONNECT_RETRIES adalah lima upaya.

WINHTTP_OPTION_CONNECT_TIMEOUT

Mengatur atau mengambil nilai bilangan bulat panjang yang tidak ditandatangani yang berisi nilai waktu habis, dalam milidetik. Mengatur opsi ini ke tak terbatas (0xFFFFFFFF) akan menonaktifkan timer ini.

Jika permintaan koneksi TCP membutuhkan waktu lebih lama dari nilai batas waktu ini, permintaan dibatalkan. Batas waktu default adalah 60 detik. Ketika Anda mencoba menyambungkan ke beberapa alamat IP untuk satu host (host multihomed), batas waktu habis adalah untuk setiap koneksi individual.

WINHTTP_OPTION_CONNECTION_INFO

Mengambil alamat IP sumber dan tujuan, dan port permintaan yang menghasilkan respons saat WinHttpReceiveResponse kembali. Aplikasi ini memanggil WinHttpQueryOption dengan opsi WINHTTP_OPTION_CONNECTION_INFO , dan menyediakan struktur WINHTTP_CONNECTION_INFO dalam parameter lpBuffer . Untuk informasi selengkapnya, lihat WINHTTP_CONNECTION_INFO.

Berlaku untuk: Windows XP dengan SP2 dan yang lebih baru; Windows 2003 dengan SP1 dan yang lebih baru.

WINHTTP_OPTION_CONNECTION_GUID

Tandai koneksi yang terkait dengan handel permintaan WinHTTP dengan GUID. Ini memungkinkan kontrol kustom atas permintaan mana yang menggunakan grup koneksi mana dengan opsi WINHTTP_OPTION_MATCH_CONNECTION_GUID .

WINHTTP_OPTION_CONNECTION_STATS_V0

Retreives struct TCP_INFO_v0 untuk koneksi yang mendasar yang digunakan oleh permintaan. Struktur yang dikembalikan mungkin berisi statistik dari permintaan sebelumnya yang dikirim melalui koneksi yang sama.

Catatan

Opsi ini telah digantikan oleh WINHTTP_OPTION_CONNECTION_STATS_V1.

WINHTTP_OPTION_CONNECTION_STATS_V1

Retreives struct TCP_INFO_v1 untuk koneksi yang mendasar yang digunakan oleh permintaan. Struktur yang dikembalikan mungkin berisi statistik dari permintaan sebelumnya yang dikirim melalui koneksi yang sama.

WINHTTP_OPTION_CONTEXT_VALUE

Mengatur atau mengambil DWORD_PTR yang berisi penunjuk ke nilai konteks yang terkait dengan handel HINTERNET ini. Nilai yang disimpan dalam buffer digunakan dan bendera opsi WINHTTP_OPTION_CONTEXT_VALUE diberi nilai baru.

WINHTTP_OPTION_DECOMPRESSION

Mengatur DWORD bendera yang menentukan apakah WinHTTP akan secara otomatis mendekompresi isi respons dengan Pengodean Konten terkompresi. WinHTTP juga akan mengatur header Accept-Encoding yang sesuai, mengesampingkan apa pun yang disediakan oleh pemanggil. Nilai yang didukung adalah:

Istilah Deskripsi
WINHTTP_DECOMPRESSION_FLAG_GZIP Dekompresi Content-Encoding: respons gzip.
WINHTTP_DECOMPRESSION_FLAG_DEFLATE Dekompresi Pengodean Konten: deflate respons.
WINHTTP_DECOMPRESSION_FLAG_ALL Dekompresi respons dengan Pengodean Konten yang didukung.

Secara default, WinHTTP akan memberikan respons terkompresi kepada pemanggil yang tidak dimodifikasi.

WINHTTP_OPTION_DISABLE_CERT_CHAIN_BUILDING

Mengatur opsi ini pada handel sesi WinHttp memungkinkan Anda mengaktifkan/menonaktifkan apakah rantai sertifikat server dibuat.

WINHTTP_OPTION_DISABLE_FEATURE

Mengatur nilai bilangan bulat panjang yang tidak ditandatangani yang menentukan fitur mana yang dinonaktifkan dengan satu atau beberapa bendera berikut. Ketahuilah bahwa fitur ini hanya boleh diteruskan ke WinHttpSetOption pada handel permintaan setelah handel permintaan dibuat dengan WinHttpOpenRequest, dan sebelum permintaan dikirim dengan WinHttpSendRequest.

Istilah Deskripsi
WINHTTP_DISABLE_AUTHENTICATION Autentikasi otomatis dinonaktifkan.
WINHTTP_DISABLE_COOKIES Penambahan header cookie otomatis ke permintaan dinonaktifkan. Selain itu, cookie yang dikembalikan tidak secara otomatis ditambahkan ke database cookie. Menonaktifkan cookie dapat mengakibatkan performa yang buruk untuk autentikasi Paspor.
WINHTTP_DISABLE_KEEP_ALIVE Menonaktifkan semantik tetap hidup untuk koneksi. Semantik tetap aktif diperlukan untuk MSN, NTLM, dan jenis autentikasi lainnya.
WINHTTP_DISABLE_REDIRECTS Pengalihan otomatis dinonaktifkan saat mengirim permintaan dengan WinHttpSendRequest. Jika pengalihan otomatis dinonaktifkan, aplikasi harus mendaftarkan fungsi panggilan balik agar autentikasi Paspor berhasil.

WINHTTP_OPTION_DISABLE_GLOBAL_POOLING

Menonaktifkan kumpulan lintas sesi global. Ini direkomendasikan karena pengumpulan lintas sesi global adalah perilaku warisan yang didukung secara default karena alasan kompatibilitas. Hal ini dipengaruhi oleh pengaturan koneksi maks nanti secara manual.

WINHTTP_OPTION_DISABLE_PROXY_AUTH_SCHEMES

Menonaktifkan satu atau beberapa praktik autentikasi proksi berikut pada sesi WinHTTP dengan menyediakan OR semua pilihan yang berlaku. Ini semua adalah skema, kecuali untuk WINHTTP_PROXY_DISABLE_AUTH_LOCAL_SERVICE, yang memaksa penggunaan akun komputer lokal saat mengirim permintaan ke alamat loopback atau lokal. Itu mencegah kebocoran kredensial sistem ke proksi HTTP lokal.

Istilah Deskripsi
WINHTTP_PROXY_DISABLE_SCHEME_BASIC Menonaktifkan skema autentikasi Dasar.
WINHTTP_PROXY_DISABLE_SCHEME_DIGEST Menonaktifkan skema autentikasi Hash.
WINHTTP_PROXY_DISABLE_SCHEME_NTLM Menonaktifkan skema autentikasi NTLM.
WINHTTP_PROXY_DISABLE_SCHEME_KERBEROS Menonaktifkan skema autentikasi Kerberos.
WINHTTP_PROXY_DISABLE_SCHEME_NEGOTIATE Menonaktifkan skema Autentikasi negosiasi.
WINHTTP_PROXY_DISABLE_AUTH_LOCAL_SERVICE Memaksa penggunaan akun komputer lokal saat mengirim permintaan ke loopback atau alamat lokal.

WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK

Mencegah WinHTTP mencoba kembali koneksi dengan versi protokol keamanan yang lebih rendah saat negosiasi protokol awal gagal.

WINHTTP_OPTION_DISABLE_STREAM_QUEUE

Memungkinkan permintaan baru untuk membuka koneksi HTTP/2 tambahan ketika batas aliran bersamaan maksimum tercapai, daripada menunggu aliran berikutnya yang tersedia pada koneksi yang ada.

WINHTTP_OPTION_ENABLE_FEATURE

Mengatur nilai bilangan bulat panjang yang tidak ditandatangani yang menentukan fitur yang saat ini diaktifkan. Bisa menjadi salah satu nilai berikut.

Istilah Deskripsi
WINHTTP_ENABLE_SSL_REVERT_IMPERSONATION Jika diaktifkan, WinHTTP untuk sementara mengembalikan peniruan klien selama durasi operasi autentikasi sertifikat SSL. Nilai ini hanya dapat diatur pada handel sesi.
WINHTTP_ENABLE_SSL_REVOCATION Jika diaktifkan, WinHTTP mengizinkan pencabutan SSL. Nilai ini hanya dapat diatur pada handel permintaan.

WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL

Mengatur bitmask DWORD dari versi HTTP tingkat lanjut yang dapat diterima. Potensi nilai:

Istilah Deskripsi
WINHTTP_PROTOCOL_FLAG_HTTP2 (0x1) Mengaktifkan HTTP/2 untuk permintaan tersebut.
WINHTTP_PROTOCOL_FLAG_HTTP3 (0x2) Mengaktifkan HTTP/3 untuk permintaan tersebut.
Tidak ada (0x0) Membatasi permintaan ke HTTP/1.1 dan sebelumnya.

Versi lama HTTP (1.1 dan sebelumnya) tidak dapat dinonaktifkan menggunakan opsi ini. Defaultnya adalah 0x0.

WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT

Opsi ini dapat diatur pada handel sesi WinHttp untuk memungkinkan WinHttp menggunakan konteks sertifikat klien yang disediakan pemanggil saat HTTP/2 sedang digunakan.

WINHTTP_OPTION_ENABLETRACING

Mengatur nilai BOOL yang menentukan apakah pelacakan saat ini diaktifkan. Opsi ini hanya dapat diatur pada handel NULLHINTERNET . Lihat juga Mengumpulkan jejak WinHTTP.

WINHTTP_OPTION_ENCODE_EXTRA

Mengaktifkan pengodean persen URL untuk string jalur dan kueri.

Atau, Anda dapat mengodekan persen sebelum memanggil WinHttp.

WINHTTP_OPTION_EXPIRE_CONNECTION

Opsi ini hanya dapat diatur pada handel permintaan yang masih aktif (mengirim atau menerima). Mengatur opsi ini akan memberi tahu WinHttp untuk berhenti melayani permintaan pada koneksi yang terkait dengan handel permintaan yang diteruskan. Koneksi akan ditutup setelah permintaan menangani opsi ini dipanggil dengan selesai. Opsi ini tidak mengambil parameter apa pun.

WINHTTP_OPTION_EXTENDED_ERROR

Mengambil nilai bilangan bulat panjang yang tidak ditandatangani yang berisi kode kesalahan Microsoft Windows Sockets yang dipetakan ke pesan kesalahan ERROR_WINHTTP_* yang terakhir dikembalikan dalam konteks utas ini. Anda dapat meneruskan NULL sebagai nilai handel.

WINHTTP_OPTION_FEATURE_SUPPORTED

Periksa untuk melihat apakah bendera opsi yang disediakan didukung oleh versi WinHTTP ini.

WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION

Secara default, ketika WinHttp mengirim permintaan, jika tidak ada koneksi yang tersedia untuk melayani permintaan, WinHttp akan mencoba membuat koneksi baru, dan permintaan akan terikat ke koneksi baru ini. Ketika Anda mengatur opsi ini, permintaan seperti itu akan dilayani pada koneksi pertama yang tersedia, dan belum tentu yang dibuat.

WINHTTP_OPTION_GLOBAL_PROXY_CREDS

Mengambil penunjuk ke struktur WINHTTP_CREDS_EX dengan parameter fungsi hInternet diatur ke NULL. Opsi ini memerlukan kunci registri HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings! ShareCredsWithWinHttp. Jika kunci registri ini tidak diatur WinHTTP akan mengembalikan kesalahan ERROR_WINHTTP_INVALID_OPTION. Kunci registri ini tidak ada secara default. Ketika diatur, WinINet akan mengirim kredensial ke WinHTTP. Setiap kali WinHttp mendapatkan tantangan autentikasi dan jika tidak ada kredensial yang diatur pada handel saat ini, WinHttp akan menggunakan kredensial yang disediakan oleh WinINet. Untuk berbagi kredensial server selain kredensial proksi, pengguna perlu mengatur WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS .

WINHTTP_OPTION_GLOBAL_SERVER_CREDS

Mengambil penunjuk ke struktur WINHTTP_CREDS_EX dengan parameter fungsi hInternet diatur ke NULL. Opsi ini memerlukan kunci registri HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings! ShareCredsWithWinHttp. Jika kunci registri ini tidak diatur WinHTTP akan mengembalikan kesalahan ERROR_WINHTTP_INVALID_OPTION. Kunci registri ini tidak ada secara default. Ketika diatur, WinINet akan mengirim kredensial ke WinHTTP. Setiap kali WinHttp mendapatkan tantangan autentikasi dan jika tidak ada kredensial yang diatur pada handel saat ini, WinHttp akan menggunakan kredensial yang disediakan oleh WinINet. Untuk berbagi kredensial server selain kredensial proksi, pengguna perlu mengatur WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS .

WINHTTP_OPTION_HANDLE_TYPE

Mengambil nilai bilangan bulat panjang yang tidak ditandatangani yang berisi jenis handel HINTERNET yang diteruskan. Nilai pengembalian dapat berupa salah satu dari nilai berikut:

Istilah Deskripsi
WINHTTP_HANDLE_TYPE_CONNECT Handel adalah handel koneksi.
WINHTTP_HANDLE_TYPE_REQUEST Handel adalah handel permintaan.
WINHTTP_HANDLE_TYPE_SESSION Handel adalah handel sesi.

WINHTTP_OPTION_HTTP_PROTOCOL_REQUIRED

Mencegah versi protokol selain yang diaktifkan oleh WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL agar tidak digunakan untuk permintaan tersebut.

WINHTTP_OPTION_HTTP_PROTOCOL_USED

Mendapatkan DWORD yang menunjukkan versi HTTP tingkat lanjut mana yang digunakan pada permintaan tertentu. Untuk daftar nilai yang mungkin, lihat WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL.

WINHTTP_OPTION_HTTP_VERSION

Mengatur atau mengambil struktur HTTP_VERSION_INFO yang berisi versi HTTP yang didukung. Ini adalah opsi seluruh proses; gunakan NULL untuk handel.

WINHTTP_OPTION_HTTP2_KEEPALIVE

Opsi ini dapat diatur pada handel sesi agar WinHttp menggunakan bingkai PING HTTP/2 sebagai mekanisme keepalive. Penelepon menentukan batas waktu dalam milidetik, dan setelah tidak ada aktivitas pada koneksi untuk periode waktu habis tersebut, WinHttp akan mulai mengirim bingkai PING HTTP/2. Penelepon tidak dapat mengatur nilai batas waktu kurang dari 5000 milidetik.

WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING

Opsi ini bisa diatur pada handel permintaan WinHttp untuk mengontrol bagaimana WinHttp berperilaku ketika respons HTTP/2 berisi header "Transfer-Encoding". Dalam kasus seperti itu, WinHttp akan mengembalikan kesalahan jika opsi ini diatur ke FALSE.

WINHTTP_OPTION_HTTP2_RECEIVE_WINDOW

Atur ukuran jendela penerimaan aliran HTTP/2 awal dan ambang batas untuk mengirim pembaruan jendela menggunakan struct WINHTTP_HTTP2_RECEIVE_WINDOW .

WINHTTP_OPTION_HTTP3_HANDSHAKE_TIMEOUT

Menggunakan buffer untuk mengatur batas waktu handshake HTTP/3 dalam milidetik sebagai PDWORD.

WINHTTP_OPTION_HTTP3_INITIAL_RTT

Mengonfigurasi RTT awal dalam milidetik yang digunakan oleh msquic.

WINHTTP_OPTION_HTTP3_KEEPALIVE

Mengaktifkan semantik tetap hidup untuk koneksi. Menggunakan buffer untuk mengatur batas waktu tetap hidup dalam milidetik sebagai PDWORD.

WINHTTP_OPTION_HTTP3_STREAM_ERROR_CODE

Mengambil kesalahan yang disediakan server pada aliran HTTP/3 yang digunakan untuk mengirim permintaan.

WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE

Perbolehkan sambungan aman untuk menggunakan sertifikat keamanan yang daftar pencabutan sertifikatnya tidak dapat diunduh.

WINHTTP_OPTION_IPV6_FAST_FALLBACK

Memungkinkan fallback cepat IPv6 (Happier Eyeballs) untuk koneksi. Perilaku ini mirip dengan perilaku Happy Eyeballs yang dijelaskan dalam RFC 6555 untuk meningkatkan waktu koneksi pada jaringan di mana IPv6 tidak dapat diandalkan.

  • Jika alamat IPv6 dan IPv4 diselesaikan untuk host tertentu, WinHttp akan mulai dengan menyambungkan ke alamat IPv6 pertama yang diselesaikan dengan batas waktu singkat (300ms).
  • Jika koneksi tersebut gagal, WinHttp akan mencoba menyambungkan ke alamat IPv4 pertama yang diselesaikan dengan batas waktu standar.
  • Jika koneksi kedua gagal, WinHttp akan mencoba kembali alamat IPv6 pertama yang diselesaikan dengan batas waktu standar.
  • Jika koneksi ketiga gagal, WinHttp akan kembali ke perilaku default untuk alamat yang tersisa, mencoba koneksi ke masing-masing dengan batas waktu standar hingga koneksi dibuat atau tidak ada alamat yang tersisa.

WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE

Mendapatkan apakah Respons Proxy Return Connect dapat diambil atau tidak.

WINHTTP_OPTION_MATCH_CONNECTION_GUID

Mengambil struct WINHTTP_MATCH_CONNECTION_GUID untuk memberi tahu WinHTTP untuk melayani permintaan pada koneksi yang cocok. Jika WINHTTP_MATCH_CONNECTION_GUID_FLAG_REQUIRED diatur, maka hanya koneksi dengan GUID yang cocok yang dapat digunakan. Jika tidak, koneksi dengan GUID dan koneksi yang cocok yang tidak ditandai dengan GUID apa pun dapat digunakan.

WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER

Mengatur atau mengambil nilai bilangan bulat panjang yang tidak ditandatangani yang berisi jumlah maksimum koneksi yang diizinkan per server HTTP/1.0. Nilai defaultnya adalah INFINITE.

Berlaku untuk: Windows Vista dengan SP1 dan yang lebih baru; Windows Server 2008 dan yang lebih baru.

WINHTTP_OPTION_MAX_CONNS_PER_SERVER

Mengatur atau mengambil nilai bilangan bulat panjang yang tidak ditandatangani yang berisi jumlah maksimum koneksi yang diizinkan per server. Nilai defaultnya adalah INFINITE.

Saat opsi ini diatur ke nol, WinHTTP menetapkan batas jumlah koneksi ke 2.

WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS

Mengatur jumlah maksimum pengalihan yang diikuti WinHTTP; defaultnya adalah 10. Batas ini mencegah situs yang tidak sah membuat klien WinHTTP berhenti sejenak mengikuti sejumlah besar pengalihan.

Berlaku untuk: Windows XP dengan SP1 dan yang lebih baru; Windows 2000 dengan SP3 dan yang lebih baru.

WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE

Jumlah maksimum respons kode status Informational 100-199 diabaikan sebelum mengembalikan kode status akhir ke klien WinHTTP. Kode status Informasi 100-199 dapat dikirim oleh server sebelum kode status akhir, dan dijelaskan dalam spesifikasi untuk HTTP/1.1 (untuk informasi selengkapnya, lihat RFC 2616). Nilai defaultnya adalah 10.

Berlaku untuk: Windows XP dengan SP1 dan yang lebih baru; Windows 2000 dengan SP3 dan yang lebih baru.

WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE

Terikat pada jumlah data yang dikosongkan dari respons untuk menggunakan kembali koneksi, yang ditentukan dalam byte. Defaultnya adalah 1MB.

Berlaku untuk: Windows XP dengan SP1 dan yang lebih baru; Windows 2000 dengan SP3 dan yang lebih baru.

WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE

Kumpulan terikat pada ukuran maksimum bagian header respons server, ditentukan dalam byte. Batas ini melindungi klien dari server yang tidak sah yang mencoba mengulur waktu klien dengan mengirim respons dengan jumlah data header yang tidak terbatas. Nilai defaultnya adalah 64KB.

Berlaku untuk: Windows XP dengan SP1 dan yang lebih baru; Windows 2000 dengan SP3 dan yang lebih baru.

WINHTTP_OPTION_PARENT_HANDLE

Mengambil handel induk ke handel ini.

WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT

Mengambil string yang berisi teks kobranding yang disediakan oleh server masuk Paspor. Opsi ini harus diambil segera setelah server masuk merespons dengan kode status 401. Aplikasi harus lulus dalam ukuran buffer, dalam byte, yang cukup besar untuk menahan string yang dikembalikan.

WINHTTP_OPTION_PASSPORT_COBRANDING_URL

Mengambil string yang berisi URL untuk grafik kobranding yang disediakan oleh server masuk Paspor. Opsi ini harus diambil segera setelah server masuk merespons dengan kode status 401. Aplikasi harus lulus dalam ukuran buffer, dalam byte, yang cukup besar untuk menahan string yang dikembalikan.

WINHTTP_OPTION_PASSPORT_RETURN_URL

Mengatur opsi baca-saja pada handel permintaan yang mengambil URL pengembalian Paspor.

WINHTTP_OPTION_PASSPORT_SIGN_OUT

Mengatur opsi pada handel sesi untuk keluar dari login Paspor apa pun. Aplikasi harus meneruskan URL pengembalian Paspor yang diambil dengan WINHTTP_OPTION_PASSPORT_RETURN_URL. Semua cookie yang terkait dengan URL pengembalian dibersihkan.

WINHTTP_OPTION_PASSWORD

Mengatur atau mengambil nilai string yang berisi kata sandi yang terkait dengan handel permintaan.

WINHTTP_OPTION_PROXY

Mengatur atau mengambil struktur WINHTTP_PROXY_INFO yang berisi data proksi pada handel sesi atau handel permintaan yang ada. Saat mengambil data proksi, aplikasi harus membebaskan string lpszProxy dan lpszProxyBypass yang terkandung dalam struktur ini (jika bukan NULL) menggunakan fungsi GlobalFree . Aplikasi dapat mengkueri data proksi global (proksi default) dengan meneruskan handel NULL .

WINHTTP_OPTION_PROXY_PASSWORD

Mengatur atau mengambil nilai string yang berisi kata sandi yang digunakan untuk mengakses proksi.

WINHTTP_OPTION_PROXY_SPN_USED

Mendapatkan Nama Prinsipal Server proksi yang disediakan WinHTTP ke SSPI selama autentikasi. Nilai string ini digunakanuntuk meneruskan ke SspiPromptForCredentials setelah kegagalan autentikasi.

WINHTTP_OPTION_PROXY_USERNAME

Mengatur atau mengambil nilai string yang berisi nama pengguna yang digunakan untuk mengakses proksi.

WINHTTP_OPTION_QUIC_STATS

Mengambil struktur QUIC_STATISTICS yang berisi informasi koneksi seperti RTT dan byte yang dikirim dan diterima.

WINHTTP_OPTION_READ_BUFFER_SIZE

Opsi ini tidak digunakan lagi; tidak berpengaruh.

WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE

Mengatur apakah entitas respons proksi dapat diambil atau tidak. Pemadatan dinonaktifkan secara default.

WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT

Mengatur atau mengambil nilai bilangan bulat panjang yang tidak ditandatangani yang berisi nilai batas waktu, dalam milidetik, untuk menunggu menerima semua header respons ke permintaan. Jika WinHTTP gagal menerima semua header dalam periode waktu habis ini, permintaan dibatalkan. Nilai batas waktu default adalah 90 detik.

Batas waktu ini hanya diperiksa ketika data diterima dari soket. Akibatnya, ketika batas waktu kedaluwarsa aplikasi klien tidak diberi tahu sampai lebih banyak data tiba dari server. Jika tidak ada data yang tiba dari server, penundaan antara kedaluwarsa waktu habis dan pemberitahuan aplikasi klien bisa sebesar nilai batas waktu yang ditetapkan menggunakan parameter dwReceiveTimeout dari fungsi WinHttpSetTimeouts .

WINHTTP_OPTION_RECEIVE_TIMEOUT

Mengatur atau mengambil nilai bilangan bulat panjang yang tidak ditandatangani yang berisi nilai waktu habis, dalam milidetik, untuk menerima respons parsial terhadap permintaan atau membaca beberapa data. Jika respons membutuhkan waktu lebih lama dari nilai waktu habis ini, permintaan dibatalkan. Nilai batas waktu default adalah 30 detik.

WINHTTP_OPTION_REDIRECT_POLICY

Mengatur perilaku WinHTTP mengenai penanganan kode status pengalihan HTTP 30x. Opsi ini dapat diatur pada sesi atau handel permintaan ke salah satu nilai berikut:

Istilah Deskripsi
WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS Semua pengalihan diikuti secara otomatis.
WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP Semua pengalihan diikuti, kecuali yang berasal dari URL aman (https) ke URL yang tidak aman (http). Ini adalah pengaturan default.
WINHTTP_OPTION_REDIRECT_POLICY_NEVER Pengalihan tidak pernah diikuti. Status 30x dikembalikan ke aplikasi.

WINHTTP_OPTION_REJECT_USERPWD_IN_URL

Menolak URL yang berisi nama pengguna dan kata sandi. Opsi ini juga menolak URL yang berisi semantik nama pengguna:kata sandi , meskipun tidak ada nama pengguna atau kata sandi yang ditentukan. Misalnya, "u:p@hostname", ":@hostname", "u:@hostname", dan ":p@hostname" semuanya akan ditandai sebagai tidak valid. Jika URL yang tidak valid diteruskan ke fungsi, URL akan mengembalikan ERROR_WINHTTP_INVALID_URL. Opsi ini dinonaktifkan secara default.

WINHTTP_OPTION_REQUEST_ANNOTATION

Memungkinkan mendapatkan dan mengatur anotasi permintaan untuk nama anotasi yang disediakan. Itu memungkinkan penelepon untuk melampirkan string ke permintaan untuk pengambilan nanti untuk mengidentifikasi permintaan dengan logika kustom apa pun yang menurut pemanggil berguna.

WINHTTP_OPTION_REQUEST_PRIORITY

Opsi ini tidak digunakan lagi; tidak berpengaruh.

WINHTTP_OPTION_REQUEST_STATS

Retreives statistik untuk permintaan. Untuk daftar statistik yang tersedia, lihat WINHTTP_REQUEST_STATS.

WINHTTP_OPTION_REQUEST_TIMES

Retreives informasi waktu untuk permintaan. Untuk daftar waktu yang tersedia, lihat WINHTTP_REQUEST_TIMES.

WINHTTP_OPTION_REQUIRE_STREAM_END

Opsi ini memberi tahu WinHttp untuk mengabaikan header respons "Panjang Konten", dan terus menerima aliran hingga bendera END_STREAM diterima.

WINHTTP_OPTION_RESOLUTION_HOSTNAME

Opsi ini dapat diatur pada handel permintaan WinHttp sebelum dikirim. Jika diatur, WinHttp akan menggunakan string yang disediakan penelepon sebagai nama host untuk resolusi DNS.

WINHTTP_OPTION_RESOLVE_TIMEOUT

Mengatur atau mengambil nilai bilangan bulat panjang yang tidak ditandatangani yang berisi nilai waktu habis, dalam milidetik, untuk mengatasi nama host. Nilai batas waktu default adalah INFINITE. Jika nilai non-default ditentukan, ada overhead dari satu pembuatan utas per resolusi nama.

WINHTTP_OPTION_REVERT_IMPERSONATION_SERVER_CERT

Mengembalikan peniruan utas apa pun saat membangun rantai sertifikasi server, memaksa penggunaan token proses sebagai gantinya.

WINHTTP_OPTION_SECURE_PROTOCOLS

Mengatur nilai bilangan bulat panjang yang tidak ditandatangani yang menentukan protokol aman mana yang dapat diterima.

  • Windows 11, Windows 10, dan Windows 8.1. Secara default, hanya SSL3, TLS1.0, TLS1.1, dan TLS1.2 yang diaktifkan.
  • Windows 8 dan Windows 7. Secara default, hanya SSL3 dan TLS1 yang diaktifkan.

Nilainya bisa berupa kombinasi dari satu atau beberapa nilai berikut.

Istilah Deskripsi
WINHTTP_FLAG_SECURE_PROTOCOL_ALL Protokol Secure Sockets Layer (SSL) 2.0, SSL 3.0, dan Transport Layer Security (TLS) 1.0 dapat digunakan.
WINHTTP_FLAG_SECURE_PROTOCOL_SSL2 Protokol SSL 2.0 dapat digunakan.
WINHTTP_FLAG_SECURE_PROTOCOL_SSL3 Protokol SSL 3.0 dapat digunakan.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1 Protokol TLS 1.0 dapat digunakan.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1 Protokol TLS 1.1 dapat digunakan.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2 Protokol TLS 1.2 dapat digunakan.
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_3 Protokol TLS 1.3 dapat digunakan.

Jika Anda perlu menambahkan dukungan untuk protokol TLS 1.1 atau TLS 1.2, tetapi Anda tidak dapat mengkombinasikan ulang aplikasi Anda untuk menggunakan nilai WINHTTP_OPTION_SECURE_PROTOCOLS yang sesuai, maka Anda dapat menambahkan DefaultSecureProtocols entri registri. Entri registri tersebut memungkinkan Anda menentukan protokol SSL mana yang harus digunakan saat bendera WINHTTP_OPTION_SECURE_PROTOCOLS digunakan.

Penting

Instruksi di bawah ini melibatkan modifikasi registri. Namun, masalah serius mungkin terjadi jika Anda salah memodifikasi registri. Oleh karena itu, pastikan Anda mengikuti instruksi ini dengan hati-hati. Untuk perlindungan tambahan, cadangkan registri sebelum Anda mengubahnya. Lalu, Anda dapat memulihkan registri jika terjadi masalah. Untuk informasi selengkapnya tentang cara mencadangkan dan memulihkan registri, lihat Cara mencadangkan dan memulihkan registri di Windows.

Ketika aplikasi menentukan WINHTTP_OPTION_SECURE_PROTOCOLS, sistem memeriksa entri registri DefaultSecureProtocols dan, jika ada, mengambil alih protokol default yang ditentukan oleh WINHTTP_OPTION_SECURE_PROTOCOLS dengan protokol yang ditentukan dalam DefaultSecureProtocols entri registri. Jika entri registri tidak ada, Maka WinHTTP menggunakan default sistem operasi yang ada untuk WINHTTP_OPTION_SECURE_PROTOCOLS. Default WinHTTP ini mengikuti aturan prioritas yang ada, dan ditimpa oleh protokol dan protokol yang dinonaktifkan Saluran Aman (Schannel) yang ditetapkan per aplikasi oleh WinHttpSetOption.

Anda dapat menambahkan DefaultSecureProtocols entri registri di jalur berikut:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp

Pada komputer berbasis x64, Anda juga harus menambahkan DefaultSecureProtocols ke Wow6432Node jalur:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp

Nilai registri adalah bitmap DWORD. Nilai yang akan digunakan ditentukan dengan menambahkan nilai yang sesuai dengan protokol yang diinginkan.

Nilai DefaultSecureProtocols Protokol diaktifkan
0x00000008 Aktifkan SSL 2.0 secara default
0x00000020 Aktifkan SSL 3.0 secara default
0x00000080 Aktifkan TLS 1.0 secara default
0x00000200 Aktifkan TLS 1.1 secara default
0x00000800 Aktifkan TLS 1.2 secara default

Misalnya, jika Anda ingin mengambil alih nilai default untuk WINHTTP_OPTION_SECURE_PROTOCOLS untuk menentukan TLS 1.1 dan TLS 1.2. Dalam hal ini, ambil nilai untuk TLS 1.1 (0x00000200) dan nilai untuk TLS 1.2 (0x00000800), tambahkan bersama-sama dalam kalkulator (dalam mode programmer), dan nilai registri yang dihasilkan akan 0x00000A00.

WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT

Mengambil sertifikat untuk server SSL/TLS ke dalam struktur WINHTTP_CERTIFICATE_INFO . Aplikasi harus membebaskan anggota lpszSubjectInfo dan lpszIssuerInfo dengan LocalFree.

WINHTTP_OPTION_SECURITY_FLAGS

Mengatur atau mengambil nilai bilangan bulat panjang yang tidak ditandatangani yang berisi bendera keamanan untuk handel. Ini bisa menjadi kombinasi dari nilai-nilai ini:

Istilah Deskripsi
SECURITY_FLAG_IGNORE_CERT_CN_INVALID Memungkinkan nama umum yang tidak valid dalam sertifikat; artinya, nama server yang ditentukan oleh aplikasi tidak cocok dengan nama umum dalam sertifikat. Jika bendera ini diatur, aplikasi tidak menerima panggilan balik WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID .
SECURITY_FLAG_IGNORE_CERT_DATE_INVALID Memungkinkan tanggal sertifikat yang tidak valid, yaitu sertifikat yang kedaluwarsa atau belum efektif. Jika bendera ini diatur, aplikasi tidak menerima panggilan balik WINHTTP_CALLBACK_STATUS_FLAG_CERT_DATE_INVALID .
SECURITY_FLAG_IGNORE_UNKNOWN_CA Mengizinkan otoritas sertifikat yang tidak valid. Jika bendera ini diatur, aplikasi tidak menerima panggilan balik WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA .
SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE Memungkinkan identitas server dibuat dengan sertifikat non-server (misalnya, sertifikat klien).
SECURITY_FLAG_IGNORE_WEAK_SIGNATURE Memungkinkan tanda tangan lemah diabaikan.
Bendera ini tersedia dalam pembaruan rollup untuk setiap OS yang dimulai dengan Windows 7 dan Windows Server 2008 R2.
SECURITY_FLAG_SECURE Menggunakan transfer aman. Ini hanya dikembalikan dalam panggilan ke WinHttpQueryOption.
SECURITY_FLAG_STRENGTH_MEDIUM Menggunakan enkripsi sedang (56-bit). Ini hanya dikembalikan dalam panggilan ke WinHttpQueryOption.
SECURITY_FLAG_STRENGTH_STRONG Menggunakan enkripsi yang kuat (128-bit). Ini hanya dikembalikan dalam panggilan ke WinHttpQueryOption.
SECURITY_FLAG_STRENGTH_WEAK Menggunakan enkripsi lemah (40-bit). Ini hanya dikembalikan dalam panggilan ke WinHttpQueryOption.

WINHTTP_OPTION_SECURITY_INFO

Mengulangi koneksi SChannel dan informasi cipher untuk permintaan.

WINHTTP_OPTION_SECURITY_KEY_BITNESS

Mengambil nilai bilangan bulat panjang yang tidak ditandatangani yang berisi kekuatan cipher kunci enkripsi. Angka yang lebih besar menunjukkan enkripsi kekuatan sandi yang lebih kuat.

WINHTTP_OPTION_SEND_TIMEOUT

Mengatur atau mengambil nilai bilangan bulat panjang yang tidak ditandatangani yang berisi nilai waktu habis, dalam milidetik, untuk mengirim permintaan atau menulis beberapa data. Jika mengirim permintaan membutuhkan waktu lebih lama dari waktu habis, operasi pengiriman dibatalkan. Batas waktu default adalah 30 detik.

WINHTTP_OPTION_SERVER_CBT

Mendapatkan penunjuk ke struktur SecPkgContext_Bindings yang menentukan Token Pengikatan Saluran (CBT).

Token Pengikatan Saluran adalah properti saluran transportasi aman dan digunakan untuk mengikat saluran autentikasi ke saluran transportasi aman. Token ini hanya dapat diperoleh dengan opsi ini setelah koneksi SSL dibuat.

Catatan

Meneruskan opsi ini dan nilai null untuk lpBuffer ke WinHttpQueryOption akan mengembalikan ERROR_INSUFFICIENT_BUFFER dan ukuran byte yang diperlukan untuk buffer dalam parameter lpdwBufferLength . Nilai ukuran buffer yang dikembalikan ini dapat diteruskan dalam panggilan berikutnya untuk mengkueri Token Pengikatan Saluran. Langkah-langkah ini diperlukan saat menangani WINHTTP_CALLBACK_STATUS_REQUEST jika Anda ingin mengubah header permintaan berdasarkan Token Pengikatan Saluran. Perhatikan bahwa Windows XP dan Vista tidak mendukung pengubahan header permintaan selama panggilan balik ini.

WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT

Mengambil konteks rantai sertifikasi server. WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT dapat diteruskan untuk mendapatkan penunjuk duplikat ke CERT_CHAIN_CONTEXT untuk rantai sertifikat server yang diterima selama koneksi SSL yang dinegosiasikan. Klien harus memanggil CertFreeCertificateContext pada penunjuk PCCERT_CONTEXT yang dikembalikan yang diisi ke dalam buffer.

WINHTTP_OPTION_SERVER_CERT_CONTEXT

Mengambil konteks sertifikasi server. WINHTTP_OPTION_SERVER_CERT_CONTEXT dapat diteruskan untuk mendapatkan penunjuk duplikat ke CERT CONTEXT untuk sertifikat server yang diterima selama koneksi SSL yang dinegosiasikan. Klien harus memanggil CertFreeCertificateContext pada penunjuk PCCERT_CONTEXT yang dikembalikan yang diisi ke dalam buffer.

WINHTTP_OPTION_SERVER_SPN_USED

Mendapatkan Server Principal Name server yang disediakan WinHTTP ke SSPI selama autentikasi. Nilai string ini dapat diteruskan ke SspiPromptForCredentials setelah kegagalan autentikasi.

WINHTTP_OPTION_SPN

Menyertakan atau menghapus nomor port server ketika SPN (nama perwakilan layanan) dibangun untuk Kerberos atau Negosiasi autentikasi Kerberos. Bendera ini adalah salah satu nilai berikut:

Istilah Deskripsi
WINHTTP_DISABLE_SPN_SERVER_PORT Menghapus nomor port server.
WINHTTP_ENABLE_SPN_SERVER_PORT Menyertakan nomor port server.

WINHTTP_OPTION_STREAM_ERROR_CODE

Opsi ini dapat dikueri pada handel permintaan WinHttp, dan akan mengembalikan kode kesalahan yang ditunjukkan oleh bingkai RST_STREAM yang diterima pada aliran HTTP.

WINHTTP_OPTION_TCP_FAST_OPEN

Mengaktifkan TCP Fast Open untuk koneksi.

WINHTTP_OPTION_TCP_KEEPALIVE

Opsi ini dapat diatur pada handel sesi WinHttp untuk mengaktifkan perilaku tetap hidup TCP pada soket yang mendasar. Mengambil struct tcp_keepalive .

WINHTTP_OPTION_TLS_FALSE_START

Mengaktifkan TLS False Start untuk koneksi.

WINHTTP_OPTION_TCP_PRIORITY_STATUS

Kueri prioritas yang diisyaratkan dari kumpulan soket TCP dengan WINHTTP_OPTION_TCP_PRIORITY_HINT. Lihat dokumentasi untuk SIO_SET_PRIORITY_HINT untuk detail selengkapnya.

WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK

Opsi ini dapat diatur pada handel sesi WinHttp untuk mengontrol apakah fallback ke TLS 1.0 diizinkan jika ada kegagalan jabat tangan TLS dengan versi protokol yang lebih baru.

WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT

Mengambil peristiwa yang akan diatur ketika panggilan balik terakhir telah selesai untuk sesi tertentu. Bendera ini harus digunakan pada handel sesi. Acara tidak dapat ditutup sampai setelah ditetapkan oleh WinHTTP.

WINHTTP_OPTION_UNSAFE_HEADER_PARSING

Opsi ini dicadangkan untuk penggunaan internal dan tidak boleh dipanggil.

WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET

Menginstruksikan tumpukan untuk memulai proses jabat tangan WebSocket dengan WinHttpSendRequest. Opsi ini tidak mengambil parameter.

WINHTTP_OPTION_URL

Mengambil nilai string yang berisi URL lengkap sumber daya yang diunduh. Jika URL asli berisi data tambahan, seperti string pencarian atau jangkar, atau jika panggilan dialihkan, URL yang dikembalikan berbeda dari aslinya. Aplikasi harus meneruskan buffer, berukuran dalam byte, yang cukup besar untuk menahan URL yang dikembalikan dalam karakter lebar.

WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS

Mengambil BOOL dan hanya dapat diatur handel sesi. Ini hanya akan menyebar ke bawah untuk menangani yang dibuat dari handel sesi setelah opsi diatur. Jika TRUE, opsi ini menyebabkan sebagai upaya terakhir penggunaan kredensial server global yang didorong turun dari WinInet. Default untuk opsi ini adalah FALSE. Opsi ini memerlukan kunci registri HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings! ShareCredsWithWinHttp. Kunci registri ini tidak ada secara default. Ketika diatur, WinINet akan mengirim kredensial ke WinHTTP. Setiap kali WinHttp mendapatkan tantangan autentikasi dan jika tidak ada kredensial yang diatur pada handel saat ini, winhttp akan menggunakan kredensial yang disediakan oleh WinINet.

WINHTTP_OPTION_USE_SESSION_SCH_CRED

Memungkinkan pengaturan kredensial tunggal untuk digunakan secara default untuk semua titik akhir dalam sesi alih-alih memiliki kredensial default per titik akhir. Itu mungkin meningkatkan performa dengan mengurangi overhead manajemen kredensial. Perhatikan bahwa kredensial default ini tidak akan berpengaruh ketika sertifikat klien disediakan secara eksplisit.

WINHTTP_OPTION_USER_AGENT

Mengatur atau mengambil string agen pengguna pada handel yang disediakan oleh WinHttpOpen dan digunakan dalam fungsi WinHttpSendRequest berikutnya, selama tidak ditimpa oleh header yang ditambahkan oleh WinHttpAddRequestHeaders atau WinHttpSendRequest. Saat mengambil agen pengguna, aplikasi harus melewati buffer, berukuran byte, yang cukup besar untuk menahan URL yang dikembalikan dalam karakter lebar. Saat mengatur agen pengguna, ukuran buffer adalah panjang string, dalam karakter, ditambah terminator NULL .

WINHTTP_OPTION_USERNAME

Mengatur atau mengambil string yang berisi nama pengguna.

WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT

Mengatur waktu, dalam milidetik, WinHttpWebSocketClose harus menunggu untuk menyelesaikan jabat tangan dekat. Defaultnya adalah 10 detik.

WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL

Mengatur interval, dalam milidetik, untuk mengirim paket tetap hidup melalui koneksi. Interval default adalah 30000 (30 detik). Interval minimum adalah 15000 (15 detik). Menggunakan WinHttpSetOption untuk menetapkan nilai yang lebih rendah dari 15000 akan kembali dengan ERROR_INVALID_PARAMETER.

Catatan

Nilai default untuk WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL dibaca dari HKLM:\SOFTWARE\Microsoft\WebSocket\KeepaliveInterval. Jika nilai tidak diatur, nilai default 30000 akan digunakan. Tidak dimungkinkan untuk memiliki interval keepalive yang lebih rendah dari 15000 milidetik.

WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE

Mengatur atau mengambil DWORD yang menentukan ukuran buffer penerima yang akan digunakan pada koneksi WebSocket.

WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE

Mengatur atau mengambil DWORD yang menentukan ukuran buffer kirim yang akan digunakan pada koneksi WebSocket.

WINHTTP_OPTION_WORKER_THREAD_COUNT

Mengatur nilai bilangan bulat panjang yang tidak ditandatangani yang menentukan jumlah utas pekerja yang harus digunakan kumpulan utas untuk penyelesaian asinkron. Nilai default opsi ini adalah nol, yang menentukan bahwa jumlah utas pekerja sama dengan jumlah CPU pada sistem. Opsi ini hanya dapat diatur pada handel NULLHINTERNET sebelum operasi asinkron terjadi. Opsi ini hanya dapat diatur sekali.

Berlaku untuk: Windows 7 dan yang lebih baru; Windows Server 2008 R2 dan yang lebih baru.

WINHTTP_OPTION_WRITE_BUFFER_SIZE

Opsi ini tidak digunakan lagi; tidak berpengaruh.

Keterangan

Tabel berikut mencantumkan bendera opsi dengan menentukan handel mana yang dapat mereka tindak lanjuti, apakah mereka dapat dikueri dan diatur, dan jenis data yang digunakan. "X" menunjukkan bahwa bendera opsi valid untuk digunakan dengan fungsi atau handel, sementara "-" menentukan bahwa bendera opsi tidak valid.

Mencoba mengatur atau mengkueri bendera opsi pada versi Windows yang tidak didukung akan menghasilkan ERROR_WINHTTP_INVALID_OPTION.

Bendera opsi, dan jenis data Handel sesi Handel permintaan Opsi kueri Atur opsi Versi Windows Minimum
WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS
BOOL
X - - X -
WINHTTP_OPTION_AUTOLOGON_POLICY
DWORD
- X - X -
WINHTTP_OPTION_BACKGROUND_CONNECTIONS
DWORD
X - - X Windows 10 Versi 21H1
WINHTTP_OPTION_CALLBACK
LPVOID
X X X X -
WINHTTP_OPTION_CLIENT_CERT_CONTEXT
CERT_CONTEXT
- X - X Windows Vista
WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST
SecPkgContext_IssuerListInfoEx
- X X - Windows Vista
WINHTTP_OPTION_CODEPAGE
DWORD
X - - X -
WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH
DWORD
X - - X -
WINHTTP_OPTION_CONNECT_RETRIES
DWORD
X X X X -
WINHTTP_OPTION_CONNECT_TIMEOUT
DWORD
X X X X -
WINHTTP_OPTION_CONNECTION_INFO
WINHTTP_CONNECTION_INFO
- X X - -
WINHTTP_OPTION_CONNECTION_STATS_V0
TCP_INFO_v0
- X X - Windows 10 Versi 1903
WINHTTP_OPTION_CONNECTION_STATS_V1
TCP_INFO_v1
- X X - Windows 10 Versi 2004
WINHTTP_OPTION_CONTEXT_VALUE
DWORD_PTR
X X X X -
WINHTTP_OPTION_DECOMPRESSION
DWORD
X X - X Windows 8.1
WINHTTP_OPTION_DISABLE_CERT_CHAIN_BUILDING
BOOL
X - - X Windows 10 Versi 21H1
WINHTTP_OPTION_DISABLE_FEATURE
DWORD
- X - X -
WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK
BOOL
X - - X Windows 10 Versi 1903
WINHTTP_OPTION_DISABLE_STREAM_QUEUE
BOOL
X X - X Windows 10 Versi 1809
WINHTTP_OPTION_ENABLE_FEATURE
DWORD
* * - X -
WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL
DWORD
X X - X Windows 10 Versi 1607
WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT_CONTEXT
BOOL
X - - X Windows 10 Versi 21H1
WINHTTP_OPTION_ENABLETRACING
DWORD
- - X X -
WINHTTP_OPTION_ENCODE_EXTRA
BOOL
X X - X Windows 10 Versi 1803
WINHTTP_OPTION_EXPIRE_CONNECTION
T/A
- X - X Windows 10 Versi 1903
WINHTTP_OPTION_EXTENDED_ERROR
DWORD
X X X - -
WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION
BOOL
X - - X Windows 10 Versi 21H1
WINHTTP_OPTION_GLOBAL_PROXY_CREDS
WINHTTP_CREDS
X X - X -
WINHTTP_OPTION_GLOBAL_SERVER_CREDS
WINHTTP_CREDS_EX
X X - X -
WINHTTP_OPTION_HANDLE_TYPE
DWORD
X X X - -
WINHTTP_OPTION_HTTP_PROTOCOL_REQUIRED
BOOL
X X - X Windows 10 Versi 1903
WINHTTP_OPTION_HTTP_PROTOCOL_USED
DWORD
- X X - Windows 10 Versi 1607
WINHTTP_OPTION_HTTP_VERSION
HTTP_VERSION_INFO
X X X X -
WINHTTP_OPTION_HTTP2_KEEPALIVE
DWORD
X - - X Windows 10 Versi 21H1
WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING
BOOL
X X - X Windows 10 Versi 21H1
WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE
BOOL
- X - X Windows 10 Versi 2004
WINHTTP_OPTION_IPV6_FAST_FALLBACK
BOOL
X - - X Windows 10 Versi 1903
WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE
BOOL
X X X - -
WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER
DWORD
X - X X -
WINHTTP_OPTION_MAX_CONNS_PER_SERVER
DWORD
X - X X -
WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS
DWORD
X X X X -
WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE
DWORD
X X X X -
WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE
DWORD
X X X X -
WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE
DWORD
X X X X -
WINHTTP_OPTION_PARENT_HANDLE
HINTERNET
X X X - -
WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT
LPWSTR
- X X - -
WINHTTP_OPTION_PASSPORT_COBRANDING_URL
LPWSTR
- X X - -
WINHTTP_OPTION_PASSPORT_RETURN_URL
LPVOID
- X X - -
WINHTTP_OPTION_PASSPORT_SIGN_OUT
LPVOID
X - - X -
WINHTTP_OPTION_PASSWORD
LPWSTR
- X X X -
WINHTTP_OPTION_PROXY
WINHTTP_PROXY_INFO
X X X X -
WINHTTP_OPTION_PROXY_PASSWORD
LPWSTR
- X X X -
WINHTTP_OPTION_PROXY_SPN_USED
LPWSTR
- X X - -
WINHTTP_OPTION_PROXY_USERNAME
LPWSTR
- X X X -
WINHTTP_OPTION_READ_BUFFER_SIZE
DWORD
- X X X -
WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE
BOOL
X X - X -
WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT
DWORD
X X X X -
WINHTTP_OPTION_RECEIVE_TIMEOUT
DWORD
X X X X -
WINHTTP_OPTION_REDIRECT_POLICY
DWORD
X X X X -
WINHTTP_OPTION_REJECT_USERPWD_IN_URL
BOOL
- X - X -
WINHTTP_OPTION_REQUEST_PRIORITY
DWORD
- X X X -
WINHTTP_OPTION_REQUEST_STATS
WINHTTP_REQUEST_STATS
- X X - Windows 10 Versi 1903
WINHTTP_OPTION_REQUEST_TIMES
WINHTTP_REQUEST_TIMES
- X X - Windows 10 Versi 1903
WINHTTP_OPTION_REQUIRE_STREAM_END
BOOL
X X - X Windows 10 Versi 21H1
WINHTTP_OPTION_RESOLUTION_HOSTNAME
LPWSTR
- X - X Windows 10 Versi 21H1
WINHTTP_OPTION_RESOLVE_TIMEOUT
DWORD
X X X X -
WINHTTP_OPTION_SECURE_PROTOCOLS
DWORD
X - - X -
WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT
WINHTTP_CERTIFICATE_INFO
- X X - -
WINHTTP_OPTION_SECURITY_FLAGS
DWORD
- X X X -
WINHTTP_OPTION_SECURITY_INFO
WINHTTP_SECURITY_INFO
- X X - Windows 10 Versi 2004
WINHTTP_OPTION_SECURITY_KEY_BITNESS
DWORD
- X X - -
WINHTTP_OPTION_SEND_TIMEOUT
DWORD
X X X X -
WINHTTP_OPTION_SERVER_CBT
SecPkgContext_Bindings*
- X X - -
WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT
CERT_CHAIN_CONTEXT
- X X - Windows 10 Versi 2004
WINHTTP_OPTION_SERVER_CERT_CONTEXT
KONTEKS CERT
- X X - -
WINHTTP_OPTION_SERVER_SPN_USED
LPWSTR
- X X - -
WINHTTP_OPTION_SPN
DWORD
- X - X -
WINHTTP_OPTION_STREAM_ERROR_CODE
DWORD
- X X - Windows 10 Versi 21H1
WINHTTP_OPTION_TCP_FAST_OPEN
BOOL
X - - X Windows 10 Versi 2004
WINHTTP_OPTION_TCP_KEEPALIVE
tcp_keepalive
X - - X Windows 10 Versi 2004
WINHTTP_OPTION_TLS_FALSE_START
BOOL
X - - X Windows 10 Versi 2004
WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK
BOOL
X - - X Windows 10 Versi 21H1
WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT
HINTERNET
X - - X -
WINHTTP_OPTION_UNSAFE_HEADER_PARSING
DWORD
- X - X -
WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET
T/A
- X - X -
WINHTTP_OPTION_URL
LPWSTR
- X X - -
WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS
BOOL
X X - X -
WINHTTP_OPTION_USER_AGENT
LPWSTR
X - X X -
WINHTTP_OPTION_USERNAME
LPWSTR
- X X X -
WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT
DWORD
- - X X -
WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL
DWORD
- - X X -
WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE
DWORD
X X X X Windows 8.1
WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE
DWORD
X X X X Windows 8.1
WINHTTP_OPTION_WORKER_THREAD_COUNT
DWORD
- - - X -
WINHTTP_OPTION_WRITE_BUFFER_SIZE
DWORD
- X X X -

Catatan

Untuk Windows XP dan Windows 2000, lihat Persyaratan Run-Time.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP, Windows 2000 Professional dengan SP3 [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003, Windows 2000 Server dengan SP3 [hanya aplikasi desktop]
Redistribusi WinHTTP 5.0 dan Internet Explorer 5.01 atau yang lebih baru pada Windows XP dan Windows 2000.
Header Winhttp.h

Lihat juga