Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Aşağıdaki seçenek bayrakları WinHttpQueryOption ve WinHttpSetOption tarafından desteklenir.
WINHTTP_OPTION_ASSURED_NON_BLOCKING_CALLBACKS
Varsayılan değer YANLIŞ'tır. TRUE olarak ayarlanırsa, durum geri çağırmaları istemci uygulaması tarafından engellenirse WinHTTP ilerlemeyi garanti etmez.
İstemci uygulaması, engelleme olmadan geri çağırma içinde en az işlem gerçekleştirmek için özel özen göstermeli, mümkün olan en hızlı şekilde döndürmelidir ve özellikle sonraki WinHTTP çağrılarını beklememelidir. Bu yönergelere uymuyorsa, büyük olasılıkla olumsuz bir performans etkisi veya olası bir uygulama kilitlenmesi olabilir. Bu seçenek, önceden belirlenmiş şekilde kullanılırsa performansı artırabilir.
WINHTTP_OPTION_AUTOLOGON_POLICY
Otomatik Oturum Açma İlkesi'ni aşağıdaki değerlerden biriyle belirten işaretsiz bir uzun tamsayı değeri ayarlar.
Süre | Açıklama |
---|---|
WINHTTP_AUTOLOGON_SECURITY_LEVEL_HIGH | Varsayılan kimlik bilgileri kullanılmaz. Bu bayrağın yalnızca sunucuyu gerçek makine adına göre belirtirseniz geçerli olduğunu unutmayın. Sunucuyu "localhost" veya IP adresiyle belirtirseniz, bu işlem geçerli olmaz. |
WINHTTP_AUTOLOGON_SECURITY_LEVEL_LOW | Tüm istekler için varsayılan kimlik bilgileri kullanılarak kimliği doğrulanmış bir oturum açma gerçekleştirilir. |
WINHTTP_AUTOLOGON_SECURITY_LEVEL_MEDIUM | Varsayılan kimlik bilgileri kullanılarak kimliği doğrulanmış oturum açma işlemi yalnızca yerel intranetteki istekler için gerçekleştirilir. |
WINHTTP_OPTION_BACKGROUND_CONNECTIONS
Bu seçeneği bir oturum tanıtıcısında ayarladığınızda, açmak istediğiniz bağlantı sayısını geçirmeniz gerekir. Ardından, ilk olarak tek bir bağlantı açmak yerine istek gönderdikten sonra WinHttp paralel olarak bir dizi bağlantı açar. Bu, aynı hedefe yönelik sonraki isteklerin performansını geliştirebilir ve bu da bağlantı kurma yüküne neden olmaz.
WINHTTP_OPTION_CALLBACK
WinHttpSetStatusCallback ile ayarlanan geri çağırma işlevinin işaretçisini alır.
WINHTTP_OPTION_CLIENT_CERT_CONTEXT
İstemci sertifikası bağlamını ayarlar. Bir uygulama ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED alırsa, isteği yeniden denemeden önce sertifika sağlamak için WinHttpSetOption çağrısı yapmalıdır. Bu seçeneği işlemenin bir parçası olarak WinHttp, çağıran tarafından sağlanan sertifika bağlamında CertDuplicateCertificateContext çağrısı yaparak sertifika bağlamının çağıran tarafından bağımsız olarak serbest bırakılabilmesini sağlar.
Uyarı
Uygulama, sertifika bağlamını alındığı sertifika deposundaki CertCloseStore çağrısında CERT_CLOSE_STORE_FORCE_FLAG bayrağıyla sertifika deposunu kapatmaya çalışmamalıdır. Erişim ihlali oluşabilir.
Sunucu bir istemci sertifikası istediğinde, WinHttpSendRequest veya WinHttpReceiveResponsebir ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED hatası döndürür. Sunucu sertifikayı isterse ancak gerekli değilse, uygulama sertifikaya sahip olmadığını belirtmek için bu seçeneği belirtebilir. Sunucu başka bir kimlik doğrulama şeması seçebilir veya sunucuya anonim erişim izni verebilir. Uygulama, aşağıdaki kod örneğinde gösterildiği gibi WinHttpSetOption'ınlpBuffer parametresinde WINHTTP_NO_CLIENT_CERT_CONTEXT makrosunu sağlar.
BOOL fRet = WinHttpSetOption(hRequest,
WINHTTP_OPTION_CLIENT_CERT_CONTEXT,
WINHTTP_NO_CLIENT_CERT_CONTEXT,
0);
Sunucu bir istemci sertifikası gerektiriyorsa, yanıt olarak bir 403 HTTP durum kodu gönderebilir. Daha fazla bilgi için WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST seçeneğine bakın.
WINHTTP_OPTION_CLIENT_CERT_ISSUER_LIST
WinHttpSendRequest veya WinHttpReceiveResponse hatası ERROR_WINHTTP_CLIENT_AUTH_CERT_NEEDED olduğunda SecPkgContext_IssuerListInfoEx bir yapı alır. Yapıdaki veren listesi, sunucudan kabul edilebilir Sertifika Yetkililerinin (CA) listesini içerir. İstemci uygulaması, SSL kimlik doğrulaması için istemci sertifikasını almak üzere CA listesini filtreleyebilir.
Alternatif olarak, sunucu istemci sertifikasını isterse ancak gerekli değilse, uygulama WINHTTP_OPTION_CLIENT_CERT_CONTEXT seçeneğiyle WinHttpSetOption'ı çağırabilir. Daha fazla bilgi için WINHTTP_OPTION_CLIENT_CERT_CONTEXT seçeneğine bakın.
WINHTTP_OPTION_CODEPAGE
URL'yi (yani sorgu dizesini) işlemek için kullanılan kod sayfasını ayarlar. Varsayılan değer UTF8'dir.
WINHTTP_OPTION_CONFIGURE_PASSPORT_AUTH
WinHTTP kimlik doğrulamasında Passport Kimlik Doğrulaması'nın etkinleştirilip etkinleştirilmediğini belirten işaretsiz bir uzun tamsayı değeri ayarlar. Değer aşağıdakilerden biri olabilir:
Süre | Açıklama |
---|---|
WINHTTP_DISABLE_PASSPORT_AUTH | Microsoft Passport kimlik doğrulaması devre dışı bırakıldı. Varsayılan değer budur. |
WINHTTP_DISABLE_PASSPORT_KEYRING | Passport anahtarlık devre dışı bırakıldı. Varsayılan değer budur. |
WINHTTP_ENABLE_PASSPORT_AUTH | Passport kimlik doğrulaması etkinleştirildi. |
WINHTTP_ENABLE_PASSPORT_KEYRING | Passport anahtarlık etkindir. |
WINHTTP_OPTION_CONNECT_RETRIES
WinHTTP'nin bir konağa bağlanmayı deneme sayısını içeren işaretsiz bir uzun tamsayı değeri ayarlar veya alır. Microsoft Windows HTTP Hizmetleri (WinHTTP), İnternet Protokolü (IP) adresi başına yalnızca bir kez dener. Örneğin, 10 IP adresi olan ve WINHTTP_OPTION_CONNECT_RETRIES 7 olarak ayarlanmış çok ana bilgisayara bağlanmayı denerseniz, WinHTTP yalnızca ilk yedi IP adresine bağlanmayı dener. Aynı 10 IP adresi kümesi göz önüne alındığında , WINHTTP_OPTION_CONNECT_RETRIES 20 olarak ayarlanırsa, WinHTTP 10'un her birini yalnızca bir kez dener. Belirtilen sayıda denemeden sonra bağlantı girişimi yine başarısız olursa veya bağlantı zaman aşımı daha önce sona erdiyse istek iptal edilir. WINHTTP_OPTION_CONNECT_RETRIES için varsayılan değer beş denemedir.
WINHTTP_OPTION_CONNECT_TIMEOUT
Zaman aşımı değerini içeren işaretsiz bir uzun tamsayı değerini milisaniye cinsinden ayarlar veya alır. Bu seçeneğin sonsuz (0xFFFFFFFF) olarak ayarlanması bu zamanlayıcıyı devre dışı bırakır.
TCP bağlantı isteği bu zaman aşımı değerinden uzun sürerse istek iptal edilir. Varsayılan zaman aşımı 60 saniyedir. Tek bir ana bilgisayar (birden çok ana bilgisayar) için birden çok IP adresine bağlanmaya çalıştığınızda, zaman aşımı sınırı her bir bağlantı için geçerlidir.
WINHTTP_OPTION_CONNECTION_INFO
WinHttpReceiveResponse döndürdüğünde yanıtı oluşturan isteğin kaynak ve hedef IP adresini ve bağlantı noktasını alır. Uygulama, WINHTTP_OPTION_CONNECTION_INFO seçeneğiyle WinHttpQueryOption'ı çağırır ve lpBuffer parametresinde WINHTTP_CONNECTION_INFO yapısını sağlar. Daha fazla bilgi için bkz. WINHTTP_CONNECTION_INFO.
Şunlar için geçerlidir: WINDOWS XP SP2 ve üzeri; WINDOWS 2003 SP1 ve üzeri.
WINHTTP_OPTION_CONNECTION_GUID
WinHTTP istek tutamacıyla ilişkili bağlantıyı GUID ile işaretleyin. Bu, hangi isteklerin WINHTTP_OPTION_MATCH_CONNECTION_GUID seçeneğiyle hangi bağlantı gruplarını kullandığı üzerinde özel denetime olanak tanır.
WINHTTP_OPTION_CONNECTION_STATS_V0
İstek tarafından kullanılan temel alınan bağlantı için TCP_INFO_v0 yapısını yeniden kullanır. Döndürülen yapı, aynı bağlantı üzerinden gönderilen önceki isteklerden istatistikleri içerebilir.
Uyarı
Bu seçeneğin yerini WINHTTP_OPTION_CONNECTION_STATS_V1 almıştır.
WINHTTP_OPTION_CONNECTION_STATS_V1
İstek tarafından kullanılan temel bağlantı için TCP_INFO_v1 yapısını yeniden kullanır. Döndürülen yapı, aynı bağlantı üzerinden gönderilen önceki isteklerden istatistikleri içerebilir.
WINHTTP_OPTION_CONTEXT_VALUE
Bu HINTERNET tutamacıyla ilişkili bağlam değerinin işaretçisini içeren bir DWORD_PTR ayarlar veya alır. Arabellekte depolanan değer kullanılır ve WINHTTP_OPTION_CONTEXT_VALUE seçenek bayrağına yeni bir değer atanır.
WINHTTP_OPTION_DECOMPRESSION
WinHTTP'nin yanıt gövdelerini sıkıştırılmış Content-Encodings ile otomatik olarak açıp açmayacağını belirleyen bir DWORD bayrakları ayarlar. WinHTTP ayrıca uygun bir Accept-Encoding üst bilgisi ayarlayacak ve çağıran tarafından sağlananları geçersiz kılacak. Desteklenen değerler şunlardır:
Süre | Açıklama |
---|---|
WINHTTP_DECOMPRESSION_FLAG_GZIP | content-encoding: gzip yanıtlarının sıkıştırmasını açın. |
WINHTTP_DECOMPRESSION_FLAG_DEFLATE | İçerik Kodlaması'nın sıkıştırması kaldırılır: Yanıtların kullanımdan kaldırılır. |
WINHTTP_DECOMPRESSION_FLAG_ALL | Desteklenen Content-Encoding ile yanıtların sıkıştırması açılır. |
Varsayılan olarak, WinHTTP çağıranın değiştirilmemiş sıkıştırılmış yanıtlarını teslim eder.
WINHTTP_OPTION_DISABLE_CERT_CHAIN_BUILDING
WinHttp oturum tanıtıcısında bu seçeneğin ayarlanması, sunucu sertifika zincirinin derlenip derlenmediğini etkinleştirmenize/devre dışı bırakmanıza olanak tanır.
WINHTTP_OPTION_DISABLE_FEATURE
Aşağıdaki bayraklardan biri veya daha fazlası ile hangi özelliklerin devre dışı bırakıldığını belirten işaretsiz bir uzun tamsayı değeri ayarlar. Bu özelliğin yalnızca istek tanıtıcısı WinHttpOpenRequest ile oluşturulduktan sonra ve istek WinHttpSendRequest ile gönderilmeden önce istek tanıtıcılarında WinHttpSetOption'a geçirilmesi gerektiğini unutmayın.
Süre | Açıklama |
---|---|
WINHTTP_DISABLE_AUTHENTICATION | Otomatik kimlik doğrulaması devre dışı bırakıldı. |
WINHTTP_DISABLE_COOKIES | tanımlama bilgisi üst bilgilerinin isteklere otomatik olarak eklenmesi devre dışı bırakılır. Ayrıca, döndürülen tanımlama bilgileri tanımlama bilgisi veritabanına otomatik olarak eklenmez. Tanımlama bilgilerinin devre dışı bırakılması Passport kimlik doğrulaması için düşük performansa neden olabilir. |
WINHTTP_DISABLE_KEEP_ALIVE | Bağlantı için canlı tutma semantiğini devre dışı bırakır. MSN, NTLM ve diğer kimlik doğrulama türleri için canlı tutma semantiği gereklidir. |
WINHTTP_DISABLE_REDIRECTS | WinHttpSendRequest ile istek gönderirken otomatik yeniden yönlendirme devre dışı bırakılır. Otomatik yeniden yönlendirme devre dışı bırakılırsa, Passport kimlik doğrulamasının başarılı olması için uygulamanın geri çağırma işlevini kaydetmesi gerekir. |
WINHTTP_OPTION_DISABLE_GLOBAL_POOLING
Genel, oturumlar arası havuzu devre dışı bırakır. Genel, oturumlar arası havuz oluşturma, uyumluluk nedeniyle varsayılan olarak desteklenen eski davranış olduğundan bu uygulama önerilir. Bu, daha sonra maksimum bağlantıları el ile ayarlamakla etkilenir.
WINHTTP_OPTION_DISABLE_PROXY_AUTH_SCHEMES
Tüm geçerli seçenekleri sağlayarak WinHTTP oturumunda aşağıdaki proxy kimlik doğrulama uygulamalarından OR
birini veya daha fazlasını devre dışı bırakır. Bunlar, bir geri döngüye veya yerel adrese istek gönderirken yerel makine hesabının kullanılmasını zorlayan WINHTTP_PROXY_DISABLE_AUTH_LOCAL_SERVICE dışında tüm şemalardır. Bu, sistem kimlik bilgilerinin yerel HTTP proxy'lerine sızmasını önler.
Süre | Açıklama |
---|---|
WINHTTP_PROXY_DISABLE_SCHEME_BASIC | Temel kimlik doğrulama düzenini devre dışı bırakır. |
WINHTTP_PROXY_DISABLE_SCHEME_DIGEST | Özet kimlik doğrulama düzenini devre dışı bırakır. |
WINHTTP_PROXY_DISABLE_SCHEME_NTLM | NTLM kimlik doğrulama düzenini devre dışı bırakır. |
WINHTTP_PROXY_DISABLE_SCHEME_KERBEROS | Kerberos kimlik doğrulama düzenini devre dışı bırakır. |
WINHTTP_PROXY_DISABLE_SCHEME_NEGOTIATE | Anlaşma kimlik doğrulama düzenini devre dışı bırakır. |
WINHTTP_PROXY_DISABLE_AUTH_LOCAL_SERVICE | İstekleri bir geri döngüye veya yerel adrese gönderirken yerel makine hesabının kullanımını zorlar. |
WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK
İlk protokol anlaşması başarısız olduğunda WinHTTP'nin güvenlik protokolünün daha düşük bir sürümüyle bağlantıyı yeniden denemesini engeller.
WINHTTP_OPTION_DISABLE_STREAM_QUEUE
Yeni isteklerin, mevcut bir bağlantıda bir sonraki kullanılabilir akışı beklemek yerine eşzamanlı akış üst sınırına ulaşıldığında ek bir HTTP/2 bağlantısı açmasına izin verir.
WINHTTP_OPTION_ENABLE_FEATURE
Şu anda etkin olan özellikleri belirten işaretsiz bir uzun tamsayı değeri ayarlar. Aşağıdaki değerlerden biri olabilir.
Süre | Açıklama |
---|---|
WINHTTP_ENABLE_SSL_REVERT_IMPERSONATION | Etkinleştirilirse, WinHTTP SSL sertifikası kimlik doğrulama işlemleri süresi boyunca istemci kimliğine bürünme işlemini geçici olarak geri alır. Bu değer yalnızca oturum tutamacıyla ayarlanabilir. |
WINHTTP_ENABLE_SSL_REVOCATION | Etkinleştirilirse, WinHTTP SSL iptalini sağlar. Bu değer yalnızca istek tutamacıyla ayarlanabilir. |
WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL
Kabul edilebilir gelişmiş HTTP sürümlerinden oluşan bir DWORD bit maskesi ayarlar. Olası değerler şunlardır:
Süre | Açıklama |
---|---|
WINHTTP_PROTOCOL_FLAG_HTTP2 (0x1) | İstek için HTTP/2'yi etkinleştirir. |
WINHTTP_PROTOCOL_FLAG_HTTP3 (0x2) | İstek için HTTP/3'i etkinleştirir. |
Hiçbiri (0x0) | İsteği HTTP/1.1 ve öncesi ile kısıtlar. |
HTTP'nin eski sürümleri (1.1 ve öncesi) bu seçenek kullanılarak devre dışı bırakılamaz. Varsayılan değer 0x0.
WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT
Bu seçenek, HTTP/2 kullanılırken WinHttp'nin çağıran tarafından sağlanan istemci sertifikası bağlamını kullanmasına izin vermek için WinHttp oturum tanıtıcısında ayarlanabilir.
WINHTTP_OPTION_ENABLETRACING
İzlemenin şu anda etkin olup olmadığını belirten bir BOOL değeri ayarlar. Bu seçenek yalnızca NULLHINTERNET tutamacıyla ayarlanabilir. Ayrıca bkz . WinHTTP izlemelerini toplama.
WINHTTP_OPTION_ENCODE_EXTRA
Yol ve sorgu dizesi için URL yüzde kodlamasını etkinleştirir.
Alternatif olarak, WinHttp'yu çağırmadan önce kodlama yüzdesini de ayarlayabilirsiniz.
WINHTTP_OPTION_EXPIRE_CONNECTION
Bu seçenek yalnızca hala etkin olan (gönderen veya alan) bir istek tutamacıyla ayarlanabilir. Bu seçeneğin ayarlanması WinHttp'ya iletilen istek tanıtıcısıyla ilişkili bağlantıda isteklerin sunulmasını durdurmasını bildirir. Bu seçenek ile çağrılan istek işleyicisi tamamlandıktan sonra bağlantı kapatılır. Bu seçenek herhangi bir parametre almaz.
WINHTTP_OPTION_EXTENDED_ERROR
Bu iş parçacığı bağlamında en son döndürülen ERROR_WINHTTP_* hata iletilerine eşlenmiş bir Microsoft Windows Yuvaları hata kodu içeren işaretsiz bir uzun tamsayı değeri alır. Tanıtıcı değeri olarak NULL geçirebilirsiniz.
WINHTTP_OPTION_FEATURE_SUPPORTED
Sağlanan seçenek bayrağının Bu WinHTTP sürümü tarafından desteklenip desteklenmediğini denetleyin.
WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION
Varsayılan olarak, WinHttp bir istek gönderdiğinde, isteği sunmak için kullanılabilir bağlantı yoksa, WinHttp yeni bir bağlantı kurmaya çalışır ve istek bu yeni bağlantıya bağlanır. Bu seçeneği ayarladığınızda, bu tür bir istek bunun yerine kullanılabilir hale gelen ilk bağlantıda sunulur ve kurulması gerekmez.
WINHTTP_OPTION_GLOBAL_PROXY_CREDS
hInternet işlev parametresi NULL olarak ayarlanmış bir WINHTTP_CREDS_EX yapısına işaretçi alır. Bu seçenek için HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings kayıt defteri anahtarı gerekir! ShareCredsWithWinHttp. Bu kayıt defteri anahtarı ayarlanmadıysa WinHTTP hata ERROR_WINHTTP_INVALID_OPTION döndürür. Bu kayıt defteri anahtarı varsayılan olarak mevcut değildir. Ayarlandığında, WinINet kimlik bilgilerini WinHTTP'ya gönderir. WinHttp kimlik doğrulaması sınaması aldığında ve geçerli tanıtıcıda ayarlanmış kimlik bilgileri yoksa, WinINet tarafından sağlanan kimlik bilgilerini kullanır. Proxy kimlik bilgilerine ek olarak sunucu kimlik bilgilerini paylaşmak için kullanıcıların WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS ayarlaması gerekir.
WINHTTP_OPTION_GLOBAL_SERVER_CREDS
hInternet işlev parametresi NULL olarak ayarlanmış bir WINHTTP_CREDS_EX yapısına işaretçi alır. Bu seçenek için HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings kayıt defteri anahtarı gerekir! ShareCredsWithWinHttp. Bu kayıt defteri anahtarı ayarlanmadıysa WinHTTP hata ERROR_WINHTTP_INVALID_OPTION döndürür. Bu kayıt defteri anahtarı varsayılan olarak mevcut değildir. Ayarlandığında, WinINet kimlik bilgilerini WinHTTP'ya gönderir. WinHttp kimlik doğrulaması sınaması aldığında ve geçerli tanıtıcıda ayarlanmış kimlik bilgileri yoksa, WinINet tarafından sağlanan kimlik bilgilerini kullanır. Proxy kimlik bilgilerine ek olarak sunucu kimlik bilgilerini paylaşmak için kullanıcıların WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS ayarlaması gerekir.
WINHTTP_OPTION_HANDLE_TYPE
geçirilen HINTERNET tutamacının türünü içeren işaretsiz bir uzun tamsayı değeri alır. Dönüş değeri aşağıdakilerden biri olabilir:
Süre | Açıklama |
---|---|
WINHTTP_HANDLE_TYPE_CONNECT | Tanıtıcı bir bağlantı tutamacıdır. |
WINHTTP_HANDLE_TYPE_REQUEST | Tanıtıcı bir istek tutamacıdır. |
WINHTTP_HANDLE_TYPE_SESSION | Tanıtıcı bir oturum tutamacıdır. |
WINHTTP_OPTION_HTTP_PROTOCOL_REQUIRED
WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL tarafından etkinleştirilenler dışındaki protokol sürümlerinin istek için kullanılmasını engeller.
WINHTTP_OPTION_HTTP_PROTOCOL_USED
Belirli bir istekte hangi gelişmiş HTTP sürümünün kullanıldığını gösteren bir DWORD alır. Olası değerlerin listesi için bkz. WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL.
WINHTTP_OPTION_HTTP_VERSION
Desteklenen eski HTTP sürümünü belirten bir HTTP_VERSION_INFO yapısı ayarlar veya alır. Bu işlem genelinde bir seçenektir; tanıtıcı için NULL kullanın.
Uyarı
Bu yapı HTTP/1.0 ve HTTP/1.1 için geçerlidir. Modern HTTP sürümleri için bkz. WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL ve WINHTTP_OPTION_HTTP_PROTOCOL_USED.
WINHTTP_OPTION_HTTP2_KEEPALIVE
Bu seçenek, bir oturum tanıtıcısında WinHttp'nin HTTP/2 PING çerçevelerini tutma mekanizması olarak kullanmasını sağlamak için ayarlanabilir. Arayanlar milisaniye cinsinden bir zaman aşımı belirtir ve bu zaman aşımı süresi için bir bağlantıda etkinlik olmadığında WinHttp HTTP/2 PING çerçeveleri göndermeye başlar. Arayanlar 5000 milisaniyeden küçük bir zaman aşımı değeri ayarlayamaz.
WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING
Bu seçenek, bir HTTP/2 yanıtı "Aktarım-Kodlama" üst bilgisi içerdiğinde WinHttp'nin nasıl davranacağını denetlemek için WinHttp istek tutamacıyla ayarlanabilir. Böyle bir durumda, bu seçenek YANLIŞ olarak ayarlanırsa WinHttp bir hata döndürür.
WINHTTP_OPTION_HTTP2_RECEIVE_WINDOW
İlk HTTP/2 akışı alma penceresi boyutunu ve WINHTTP_HTTP2_RECEIVE_WINDOW yapısını kullanarak pencere güncelleştirmelerini gönderme eşiğini ayarlayın.
WINHTTP_OPTION_HTTP3_HANDSHAKE_TIMEOUT
HTTP/3 el sıkışması zaman aşımını milisaniye cinsinden PDWORD olarak ayarlamak için arabelleği kullanır.
WINHTTP_OPTION_HTTP3_INITIAL_RTT
msquic tarafından kullanılan ilk RTT'yi milisaniye cinsinden yapılandırılır.
WINHTTP_OPTION_HTTP3_KEEPALIVE
Bağlantı için canlı tutma semantiğini etkinleştirir. Etkin tutma zaman aşımını milisaniye cinsinden PDWORD olarak ayarlamak için arabelleği kullanır.
WINHTTP_OPTION_HTTP3_STREAM_ERROR_CODE
İsteği göndermek için kullanılan HTTP/3 akışında sunucu tarafından sağlanan hatayı alır.
WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE
Güvenli bağlantıların, sertifika iptal listesinin indirilemediği güvenlik sertifikalarını kullanmasına izin verir.
WINHTTP_OPTION_IPV6_FAST_FALLBACK
Bağlantı için IPv6 hızlı geri dönüşünü (Happier Eyeballs) etkinleştirir. Bu davranış, IPv6'nın güvenilir olmadığı ağlarda bağlantı sürelerini iyileştirmek için RFC 6555'te açıklanan Happy Eyeballs davranışına benzer.
- Belirli bir konak için hem IPv6 hem de IPv4 adresleri çözümlenirse, WinHttp kısa (300ms) zaman aşımıyla ilk çözümlenen IPv6 adresine bağlanarak başlar.
- Bu bağlantı başarısız olursa WinHttp, standart zaman aşımıyla ilk çözümlenen IPv4 adresine bağlanmayı dener.
- İkinci bağlantı başarısız olursa WinHttp, standart zaman aşımı ile ilk çözümlenen IPv6 adresini yeniden dener.
- Üçüncü bağlantı başarısız olursa, WinHttp kalan adresler için varsayılan davranışa geri döner ve bağlantı yapılana veya adres kalmayana kadar standart zaman aşımına sahip her birine bağlantı kurmaya çalışır.
WINHTTP_OPTION_IS_PROXY_CONNECT_RESPONSE
Ara Sunucu Dönüş Bağlantı Yanıtı alınıp alınamayacağını alır.
WINHTTP_OPTION_MATCH_CONNECTION_GUID
WinHTTP'ya isteği eşleşen bir bağlantıda sunmasını bildirmek için bir WINHTTP_MATCH_CONNECTION_GUID yapısı alır. WINHTTP_MATCH_CONNECTION_GUID_FLAG_REQUIRED ayarlanırsa, yalnızca eşleşen GUID'ye sahip bağlantılar kullanılabilir. Aksi takdirde, eşleşen GUID'lere ve herhangi bir GUID ile işaretlenmemiş bağlantılara sahip bağlantılar kullanılabilir.
WINHTTP_OPTION_MAX_CONNS_PER_1_0_SERVER
HTTP/1.0 sunucusu başına izin verilen en fazla bağlantı sayısını içeren işaretsiz bir uzun tamsayı değeri ayarlar veya alır. Varsayılan değer SONSUZdur.
Şunlar için geçerlidir: SP1 ve üzeri yüklü Windows Vista; Windows Server 2008 ve üzeri.
WINHTTP_OPTION_MAX_CONNS_PER_SERVER
Sunucu başına izin verilen en fazla bağlantı sayısını içeren işaretsiz bir uzun tamsayı değeri ayarlar veya alır. Varsayılan değer SONSUZdur.
Bu seçenek sıfır olarak ayarlandığında, WinHTTP bağlantı sayısı sınırını 2 olarak ayarlar.
WINHTTP_OPTION_MAX_HTTP_AUTOMATIC_REDIRECTS
WinHTTP'nin izlediği en fazla yeniden yönlendirme sayısını ayarlar; varsayılan değer 10'dur. Bu sınır, yetkisiz sitelerin çok sayıda yeniden yönlendirmeden sonra WinHTTP istemcisini duraklatmasını önler.
Şunlar için geçerlidir: WINDOWS XP SP1 ve üzeri; SP3 ve üzeri yüklü Windows 2000.
WINHTTP_OPTION_MAX_HTTP_STATUS_CONTINUE
Son durum kodunu WinHTTP istemcisine döndürmeden önce göz ardı edilen en fazla Bilgi 100-199 durum kodu yanıtı sayısı. Bilgilendirme 100-199 durum kodları sunucu tarafından son durum kodundan önce gönderilebilir ve HTTP/1.1 belirtiminde açıklanmıştır (daha fazla bilgi için bkz. RFC 2616). Varsayılan değer 10'dur.
Şunlar için geçerlidir: WINDOWS XP SP1 ve üzeri; SP3 ve üzeri yüklü Windows 2000.
WINHTTP_OPTION_MAX_RESPONSE_DRAIN_SIZE
Bayt cinsinden belirtilen bir bağlantıyı yeniden kullanmak için yanıtlardan boşaltılan veri miktarına bağlı. Varsayılan değer 1 MB'tır.
Şunlar için geçerlidir: WINDOWS XP SP1 ve üzeri; SP3 ve üzeri yüklü Windows 2000.
WINHTTP_OPTION_MAX_RESPONSE_HEADER_SIZE
Sunucu yanıtının üst bilgi bölümünün bayt cinsinden belirtilen üst bilgi bölümünün en büyük boyutu üzerinde bir sınır kümesi. Bu sınır, sonsuz miktarda üst bilgi verisi içeren bir yanıt göndererek istemciyi oyalamaya çalışan yetkisiz bir sunucudan korur. Varsayılan değer 64 KB'tır.
Şunlar için geçerlidir: WINDOWS XP SP1 ve üzeri; SP3 ve üzeri yüklü Windows 2000.
WINHTTP_OPTION_PARENT_HANDLE
Bu tanıtıcının üst tutamacını alır.
WINHTTP_OPTION_PASSPORT_COBRANDING_TEXT
Passport oturum açma sunucusu tarafından sağlanan kobranding metnini içeren bir dize alır. Bu seçenek, oturum açma sunucusu 401 durum koduyla yanıt verdikten hemen sonra alınmalıdır. Bir uygulama, döndürülen dizeyi barındıracak kadar büyük bir arabellek boyutunu bayt cinsinden geçirmelidir.
WINHTTP_OPTION_PASSPORT_COBRANDING_URL
Passport oturum açma sunucusu tarafından sağlanan bir kobranding grafiğinin URL'sini içeren bir dizeyi alır. Bu seçenek, oturum açma sunucusu 401 durum koduyla yanıt verdikten hemen sonra alınmalıdır. Bir uygulama, döndürülen dizeyi barındıracak kadar büyük bir arabellek boyutunu bayt cinsinden geçirmelidir.
WINHTTP_OPTION_PASSPORT_RETURN_URL
Passport dönüş URL'sini alan bir istek tanıtıcısında salt okunur bir seçenek ayarlar.
WINHTTP_OPTION_PASSPORT_SIGN_OUT
Tüm Passport oturum açma işlemlerinin oturumunu kapatmak için oturum tutamacının seçeneğini ayarlar. Bir uygulama , WINHTTP_OPTION_PASSPORT_RETURN_URL ile alınan Passport dönüş URL'sini geçirmelidir. İade URL'si ile ilgili tüm tanımlama bilgileri temizlenir.
WINHTTP_OPTION_PASSWORD
İstek tanıtıcısıyla ilişkili parolayı içeren bir dize değerini ayarlar veya alır.
WINHTTP_OPTION_PROXY
Var olan bir oturum tanıtıcı veya istek tutamacıyla ilgili ara sunucu verilerini içeren bir WINHTTP_PROXY_INFO yapısı ayarlar veya alır. Ara sunucu verileri alınırken, bir uygulamanın GlobalFree işlevini kullanarak bu yapıda yer alan lpszProxy ve lpszProxyBypass dizelerini boşaltması gerekir (NULL değilse). Bir uygulama, null tanıtıcı geçirerek genel ara sunucu verilerini (varsayılan ara sunucu) sorgulayabilir.
WINHTTP_OPTION_PROXY_PASSWORD
Ara sunucuya erişmek için kullanılan parolayı içeren bir dize değeri ayarlar veya alır.
WINHTTP_OPTION_PROXY_SPN_USED
Kimlik doğrulaması sırasında SSPI'ye sağlanan WinHTTP'nin proxy Sunucu Asıl Adını alır. Bu dize değeri, kimlik doğrulaması hatasından sonra SspiPromptForCredentials'a geçirmek için kullanılır.
WINHTTP_OPTION_PROXY_USERNAME
Ara sunucuya erişmek için kullanılan kullanıcı adını içeren bir dize değeri ayarlar veya alır.
WINHTTP_OPTION_QUIC_STATS
RTT ve gönderilen ve alınan baytlar gibi bağlantı bilgilerini içeren bir QUIC_STATISTICS yapısı alır.
WINHTTP_OPTION_READ_BUFFER_SIZE
Bu seçenek kullanım dışıdır; hiçbir etkisi yoktur.
WINHTTP_OPTION_RECEIVE_PROXY_CONNECT_RESPONSE
Ara sunucu yanıt varlığının alınıp alınamayacağını ayarlar. Bu seçenek varsayılan olarak devre dışıdır.
WINHTTP_OPTION_RECEIVE_RESPONSE_TIMEOUT
Zaman aşımı değerini içeren işaretsiz bir uzun tamsayı değerini milisaniye cinsinden ayarlar veya alır ve bir isteğe tüm yanıt üst bilgilerini almayı bekler. WinHTTP bu zaman aşımı süresi içinde tüm üst bilgileri alamazsa istek iptal edilir. Varsayılan zaman aşımı değeri 90 saniyedir.
Bu zaman aşımı yalnızca yuvadan veri alındığında denetlenilir. Sonuç olarak, zaman aşımı süresi dolduğunda istemci uygulamaya sunucudan daha fazla veri ulaşana kadar bildirim gönderilir. Sunucudan veri gelmezse, istemci uygulamasının zaman aşımı süresi ve bildirimi arasındaki gecikme, WinHttpSetTimeouts işlevinin dwReceiveTimeout parametresi kullanılarak ayarlanan zaman aşımı değeri kadar büyük olabilir.
WINHTTP_OPTION_RECEIVE_TIMEOUT
bir isteğe kısmi yanıt almak veya bazı verileri okumak için milisaniye cinsinden zaman aşımı değerini içeren işaretsiz bir uzun tamsayı değerini ayarlar veya alır. Yanıt bu zaman aşımı değerinden uzun sürerse istek iptal edilir. Varsayılan zaman aşımı değeri 30 saniyedir.
WINHTTP_OPTION_REDIRECT_POLICY
30x HTTP yeniden yönlendirme durum kodunun işlenmesiyle ilgili WinHTTP davranışını ayarlar. Bu seçenek bir oturumda veya istek tanıtıcısında aşağıdaki değerlerden birine ayarlanabilir:
Süre | Açıklama |
---|---|
WINHTTP_OPTION_REDIRECT_POLICY_ALWAYS | Tüm yeniden yönlendirmeler otomatik olarak takip edilir. |
WINHTTP_OPTION_REDIRECT_POLICY_DISALLOW_HTTPS_TO_HTTP | Güvenli (https) URL'den güvenli olmayan (http) URL'ye gelenler dışında tüm yeniden yönlendirmeler takip edilir. Bu varsayılan ayardır. |
WINHTTP_OPTION_REDIRECT_POLICY_NEVER | Yeniden yönlendirmeler hiçbir zaman takip edilir. 30x durumu uygulamaya döndürülür. |
WINHTTP_OPTION_REJECT_USERPWD_IN_URL
Kullanıcı adı ve parola içeren URL'leri reddeder. Bu seçenek, kullanıcı adı veya parola belirtilmemiş olsa bile username:password semantics içeren URL'leri de reddeder. Örneğin, "u:p@hostname", ":@hostname", "u:@hostname" ve ":p@hostname" geçersiz olarak işaretlenebilir. İşleve geçersiz bir URL geçirilirse , ERROR_WINHTTP_INVALID_URL döndürür. Bu seçenek varsayılan olarak kapalıdır.
WINHTTP_OPTION_REQUEST_ANNOTATION
Sağlanan ek açıklama adı için istek ek açıklamasını almayı ve ayarlamayı etkinleştirir. Bu, çağıranın daha sonra almak üzere isteğe bir dize eklemesini ve çağıranın yararlı bulduğu özel mantıkla istekleri tanımlamasını sağlar.
WINHTTP_OPTION_REQUEST_PRIORITY
Bu seçenek kullanım dışıdır; hiçbir etkisi yoktur.
WINHTTP_OPTION_REQUEST_STATS
İsteğin istatistiklerini alır. Kullanılabilir istatistiklerin listesi için bkz. WINHTTP_REQUEST_STATS.
WINHTTP_OPTION_REQUEST_TIMES
İstek için zamanlama bilgilerini kullanır. Kullanılabilir zamanlamaların listesi için bkz. WINHTTP_REQUEST_TIMES.
WINHTTP_OPTION_REQUIRE_STREAM_END
Bu seçenek WinHttp'ya "İçerik Uzunluğu" yanıt üst bilgilerini yoksayıp END_STREAM bayrağı alınana kadar bir akışta almaya devam etmelerini söyler.
WINHTTP_OPTION_RESOLUTION_HOSTNAME
Bu seçenek, gönderilmeden önce WinHttp istek tanıtıcısında ayarlanabilir. Ayarlanırsa, WinHttp DNS çözümlemesi için ana bilgisayar adı olarak çağıran tarafından sağlanan dizeyi kullanır.
WINHTTP_OPTION_RESOLVE_TIMEOUT
Konak adını çözümlemek için zaman aşımı değerini içeren işaretsiz bir uzun tamsayı değerini milisaniye cinsinden ayarlar veya alır. Varsayılan zaman aşımı değeri SONSUZ'dur. Varsayılan olmayan bir değer belirtilirse, ad çözümlemesi başına bir iş parçacığı oluşturma yükü vardır.
WINHTTP_OPTION_REVERT_IMPERSONATION_SERVER_CERT
Sunucu sertifika zincirini oluştururken iş parçacığı kimliğe bürünme işlemlerini geri alır ve bunun yerine işlem belirtecinin kullanılmasını zorlar.
WINHTTP_OPTION_SECURE_PROTOCOLS
Hangi Güvenli (HTTPS) protokollerinin kabul edilebilir olduğunu belirten işaretsiz bir uzun tamsayı değeri ayarlar. Bu ayarın varsayılan değeri işletim sistemi sürümüne göre değişir ve yüklü güncelleştirmeler tarafından etkilenebilir.
- Windows 11. Varsayılan olarak, yalnızca TLS1.2 ve TLS1.3 etkinleştirilir.
- Windows 10 ve Windows 8.1. Varsayılan olarak yalnızca SSL3, TLS1.0, TLS1.1 ve TLS1.2 etkinleştirilir.
- Windows 8 ve Windows 7. Varsayılan olarak, yalnızca SSL3 ve TLS1 etkinleştirilir.
Değer, aşağıdaki değerlerden birinin veya daha fazlasının birleşimi olabilir.
Süre | Açıklama |
---|---|
WINHTTP_FLAG_SECURE_PROTOCOL_ALL | Güvenli Yuva Katmanı (SSL) 2.0, SSL 3.0 ve Aktarım Katmanı Güvenliği (TLS) 1.0 protokolleri kullanılabilir. |
WINHTTP_FLAG_SECURE_PROTOCOL_SSL2 | SSL 2.0 protokolü kullanılabilir. |
WINHTTP_FLAG_SECURE_PROTOCOL_SSL3 | SSL 3.0 protokolü kullanılabilir. |
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1 | TLS 1.0 protokolü kullanılabilir. |
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1 | TLS 1.1 protokolü kullanılabilir. |
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2 | TLS 1.2 protokolü kullanılabilir. |
WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_3 | TLS 1.3 protokolü kullanılabilir. |
Daha yeni protokoller için desteği etkinleştirmeniz gerekiyorsa ancak uygulamanızı uygun WINHTTP_OPTION_SECURE_PROTOCOLS değerlerini kullanacak şekilde yeniden derleyemiyorsanız, bunun yerine kayıt defteri girdisini DefaultSecureProtocols
ekleyebilirsiniz. Bu kayıt defteri girişi, WINHTTP_OPTION_SECURE_PROTOCOLS seçeneği ayarlanmadığında hangi güvenli protokollerin kullanılacağını belirtmenize olanak tanır.
Önemli
Aşağıdaki yönergeler kayıt defterini değiştirmeyi içerir. Ancak, kayıt defterini yanlış bir şekilde değiştirirseniz ciddi sorunlar ortaya çıkabilir. Bu nedenle, bu yönergeleri dikkatle izlediğinize emin olun. Daha fazla koruma için, değiştirmeden önce kayıt defterini yedekleyin. Ardından, bir sorun oluşursa kayıt defterini geri yükleyebilirsiniz. Kayıt defterini yedekleme ve geri yükleme hakkında daha fazla bilgi için bkz. Windows'da kayıt defterini yedekleme ve geri yükleme.
Uygulama WinHttpSetOption(WINHTTP_OPTION_SECURE_PROTOCOLS) öğesini çağırmazsa, sistem kayıt defteri girdisini DefaultSecureProtocols
denetler ve varsa, mevcut işletim sistemi varsayılanlarını kayıt defteri girdisinde DefaultSecureProtocols
belirtilen protokollerle geçersiz kılar. WinHTTP tarafından belirtilen protokoller, protokolleri devre dışı bırakabilecek Güvenli Kanal (Schannel) yapılandırma ayarları tarafından geçersiz kılınabilir.
Kayıt defteri girdisini DefaultSecureProtocols
aşağıdaki yola ekleyebilirsiniz:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp
x64 tabanlı bilgisayarlarda, yola da eklemeniz DefaultSecureProtocols
Wow6432Node
gerekir:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp
Kayıt defteri değeri bir DWORD bit eşlemidir. Kullanılacak değer, istenen protokollere karşılık gelen değerler eklenerek belirlenir.
DefaultSecureProtocols değeri | Protokol etkinleştirildi |
---|---|
0x00000008 | SSL 2.0'ın varsayılan olarak etkinleştirilmesi |
0x00000020 | SSL 3.0'ın varsayılan olarak etkinleştirilmesi |
0x00000080 | TLS 1.0'ın varsayılan olarak etkinleştirilmesi |
0x00000200 | TLS 1.1'i varsayılan olarak etkinleştirme |
0x00000800 | TLS 1.2'yi varsayılan olarak etkinleştirme |
0x00002000 | TLS 1.3'i varsayılan olarak etkinleştirme |
Örneğin, TLS 1.1 ve TLS 1.2'yi belirtmek üzere WINHTTP_OPTION_SECURE_PROTOCOLS için varsayılan değerleri geçersiz kılmak istiyorsanız. Bu durumda TLS 1.1 (0x00000200) değerini ve TLS 1.2 (0x00000800) değerini alın, bunları hesap makinesinde (programcı modunda) birlikte ekleyin; sonuçta elde edilen kayıt defteri değeri 0x00000A00.
WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT
SSL/TLS sunucusunun sertifikasını WINHTTP_CERTIFICATE_INFO yapısına alır. Uygulamanın lpszSubjectInfo ve lpszIssuerInfo üyelerini LocalFree ile serbest bırakın.
WINHTTP_OPTION_SECURITY_FLAGS
Bir tanıtıcı için güvenlik bayraklarını içeren işaretsiz bir uzun tamsayı değeri ayarlar veya alır. Bu değerlerin bir bileşimi olabilir:
Süre | Açıklama |
---|---|
SECURITY_FLAG_IGNORE_CERT_CN_INVALID | Bir sertifikada geçersiz ortak ada izin verir; başka bir ifadeyle, uygulama tarafından belirtilen sunucu adı sertifikadaki ortak adla eşleşmiyor. Bu bayrak ayarlanırsa, uygulama bir WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID geri çağırma almaz. |
SECURITY_FLAG_IGNORE_CERT_DATE_INVALID | Geçersiz bir sertifika tarihine, yani süresi dolmuş veya henüz etkin olmayan bir sertifikaya izin verir. Bu bayrak ayarlanırsa, uygulama bir WINHTTP_CALLBACK_STATUS_FLAG_CERT_DATE_INVALID geri çağırma almaz. |
SECURITY_FLAG_IGNORE_UNKNOWN_CA | Geçersiz bir sertifika yetkilisine izin verir. Bu bayrak ayarlanırsa, uygulama bir WINHTTP_CALLBACK_STATUS_FLAG_INVALID_CA geri çağırma almaz. |
SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE | Bir sunucunun kimliğinin sunucu dışı bir sertifikayla (örneğin, bir istemci sertifikası) oluşturulmasına izin verir. |
SECURITY_FLAG_IGNORE_WEAK_SIGNATURE | Zayıf bir imzanın yoksayılmasına izin verir. Bu bayrak, Windows 7 ve Windows Server 2008 R2 ile başlayan her işletim sistemi için güncelleştirme paketinde kullanılabilir. |
SECURITY_FLAG_SECURE | Güvenli aktarımları kullanır. Bu yalnızca WinHttpQueryOption çağrısında döndürülür. |
SECURITY_FLAG_STRENGTH_MEDIUM | Orta (56 bit) şifreleme kullanır. Bu yalnızca WinHttpQueryOption çağrısında döndürülür. |
SECURITY_FLAG_STRENGTH_STRONG | Güçlü (128 bit) şifreleme kullanır. Bu yalnızca WinHttpQueryOption çağrısında döndürülür. |
SECURITY_FLAG_STRENGTH_WEAK | Zayıf (40 bit) şifreleme kullanır. Bu yalnızca WinHttpQueryOption çağrısında döndürülür. |
WINHTTP_OPTION_SECURITY_INFO
bir istek için SChannel bağlantısını ve şifre bilgilerini yeniden kullanır.
WINHTTP_OPTION_SECURITY_KEY_BITNESS
Şifreleme anahtarının şifreleme gücünü içeren işaretsiz bir uzun tamsayı değeri alır. Daha büyük bir sayı daha güçlü şifreleme gücü şifrelemesini gösterir.
WINHTTP_OPTION_SEND_TIMEOUT
İstek göndermek veya veri yazmak için milisaniye cinsinden zaman aşımı değerini içeren işaretsiz bir uzun tamsayı değeri ayarlar veya alır. İsteğin gönderilmesi zaman aşımından uzun sürüyorsa gönderme işlemi iptal edilir. Varsayılan zaman aşımı 30 saniyedir.
WINHTTP_OPTION_SERVER_CBT
Kanal Bağlama Belirteci (CBT) belirten SecPkgContext_Bindings yapısına yönelik bir işaretçi alır.
Kanal Bağlama Belirteci, güvenli bir aktarım kanalının özelliğidir ve kimlik doğrulama kanalını güvenli aktarım kanalına bağlamak için kullanılır. Bu belirteç yalnızca SSL bağlantısı kurulduktan sonra bu seçenek tarafından elde edilebilir.
Uyarı
Bu seçeneğin ve lpBuffer için nulldeğerin WinHttpQueryOption'a geçirilmesi, lpdwBufferLength parametresindeki arabellek için ERROR_INSUFFICIENT_BUFFER ve gerekli bayt boyutunu döndürür. Bu döndürülen arabellek boyutu değeri, Kanal Bağlama Belirteci için sonraki bir sorgu çağrısında geçirilebilir. Kanal Bağlama Belirtecini temel alarak istek üst bilgilerini değiştirmek istiyorsanız, WINHTTP_CALLBACK_STATUS_REQUEST işlenirken bu adımlar gereklidir. Windows XP ve Vista'nın bu geri çağırma sırasında istek üst bilgilerini değiştirmeyi desteklemediğini unutmayın.
WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT
Sunucu sertifika zinciri bağlamını alır. WINHTTP_OPTION_SERVER_CERT_CHAIN_CONTEXT , üzerinde anlaşmaya varılan SSL bağlantısı sırasında alınan bir sunucu sertifika zinciri için CERT_CHAIN_CONTEXT yinelenen bir işaretçi elde etmek için geçirilebilir. İstemci, arabelleğe doldurulan döndürülen PCCERT_CONTEXT işaretçisinde CertFreeCertificateContext'i çağırmalıdır.
WINHTTP_OPTION_SERVER_CERT_CONTEXT
Sunucu sertifikası bağlamını alır. WINHTTP_OPTION_SERVER_CERT_CONTEXT , üzerinde anlaşmaya varılan SSL bağlantısı sırasında alınan bir sunucu sertifikası için CERT BAĞLAMI'na yinelenen bir işaretçi almak için geçirilebilir. İstemci, arabelleğe doldurulan döndürülen PCCERT_CONTEXT işaretçisinde CertFreeCertificateContext'i çağırmalıdır.
WINHTTP_OPTION_SERVER_SPN_USED
Kimlik doğrulaması sırasında SSPI'ye sağlanan WinHTTP'nin sunucu Sunucu Asıl Adını alır. Bu dize değeri, kimlik doğrulaması hatasından sonra SspiPromptForCredentials'a geçirilebilir.
WINHTTP_OPTION_SPN
SPN (hizmet asıl adı) Kerberos veya Negotiate Kerberos kimlik doğrulaması için oluşturulduğunda sunucu bağlantı noktası numarasını ekler veya kaldırır. Bu bayrak aşağıdaki değerlerden biridir:
Süre | Açıklama |
---|---|
WINHTTP_DISABLE_SPN_SERVER_PORT | Sunucu bağlantı noktası numarasını kaldırır. |
WINHTTP_ENABLE_SPN_SERVER_PORT | Sunucu bağlantı noktası numarasını içerir. |
WINHTTP_OPTION_STREAM_ERROR_CODE
Bu seçenek WinHttp istek tanıtıcısında sorgulanabilir ve HTTP akışında alınan RST_STREAM çerçevesi tarafından belirtilen hata kodunu döndürür.
WINHTTP_OPTION_TCP_FAST_OPEN
Bağlantı için TCP Hızlı Açma'ya olanak tanır.
WINHTTP_OPTION_TCP_KEEPALIVE
Bu seçenek, temel alınan yuvada TCP etkin tutma davranışını etkinleştirmek için WinHttp oturum tanıtıcısında ayarlanabilir. bir tcp_keepalive yapısı alır.
WINHTTP_OPTION_TLS_FALSE_START
Bağlantı için TLS False Start'ı etkinleştirir.
WINHTTP_OPTION_TCP_PRIORITY_STATUS
tcp yuva kümesinin ipucu önceliğini WINHTTP_OPTION_TCP_PRIORITY_HINT ile sorgula. Daha fazla ayrıntı için SIO_SET_PRIORITY_HINT belgelerine bakın.
WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK
Bu seçenek, daha yeni bir protokol sürümüyle TLS el sıkışma hatası olduğunda TLS 1.0'a geri dönüşe izin verilip verilmeyeceğini denetlemek için WinHttp oturum tanıtıcısında ayarlanabilir.
WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT
Belirli bir oturum için son geri çağırma tamamlandığında ayarlanacak bir olayı alır. Bu bayrağın bir oturum tanıtıcıda kullanılması gerekir. Olay WinHTTP tarafından ayarlanana kadar kapatılamaz.
WINHTTP_OPTION_UNSAFE_HEADER_PARSING
Bu seçenek dahili kullanım için ayrılmıştır ve çağrılmamalıdır.
WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET
Yığına WinHttpSendRequest ile bir WebSocket el sıkışma işlemi başlatma talimatı verir. Bu seçenek parametre almaz.
WINHTTP_OPTION_URL
İndirilen kaynağın tam URL'sini içeren bir dize değeri alır. Özgün URL arama dizeleri veya tutturucular gibi ek veriler içeriyorsa veya çağrı yeniden yönlendirildiyse, döndürülen URL özgün URL'den farklıdır. Uygulama, döndürülen URL'yi geniş karakterde tutacak kadar büyük bayt cinsinden bir arabellek geçirmelidir.
WINHTTP_OPTION_USE_GLOBAL_SERVER_CREDENTIALS
Bir BOOL alır ve yalnızca bir oturum tutamacı ayarlanabilir. Yalnızca seçenek ayarlandıktan sonra oturum tutamacından oluşturulan tanıtıcılara yayılır. TRUE ise, bu seçenek son çare olarak WinInet'ten gönderilen genel sunucu kimlik bilgilerinin kullanılmasına neden olur. Bu seçenek için varsayılan değer YANLIŞ'tır. Bu seçenek için HKLM\Software\Microsoft\Windows\CurrentVersion\Internet Settings kayıt defteri anahtarı gerekir! ShareCredsWithWinHttp. Bu kayıt defteri anahtarı varsayılan olarak mevcut değildir. Ayarlandığında, WinINet kimlik bilgilerini WinHTTP'ya gönderir. WinHttp kimlik doğrulaması sınaması aldığında ve geçerli tanıtıcıda ayarlanmış kimlik bilgileri yoksa, WinINet tarafından sağlanan kimlik bilgilerini kullanır.
WINHTTP_OPTION_USE_SESSION_SCH_CRED
Her uç nokta için varsayılan kimlik bilgilerine sahip olmak yerine oturumdaki tüm uç noktalar için varsayılan olarak kullanılacak tek bir kimlik bilgisi ayarlamaya izin verir. Bu, kimlik bilgisi yönetimi ek yükünü azaltarak performansı artırabilir. Bir istemci sertifikası açıkça sağlandığında bu varsayılan kimlik bilgilerinin hiçbir etkisi olmayacağına dikkat edin.
WINHTTP_OPTION_USER_AGENT
WinHttpAddRequestHeaders veya WinHttpSendRequest tarafından eklenen üst bilgi geçersiz kılınmadığı sürece, WinHttpOpen tarafından sağlanan ve sonraki WinHttpSendRequest işlevlerinde kullanılan tanıtıcılarda kullanıcı aracısı dizesini ayarlar veya alır. Kullanıcı aracısını alırken uygulama, döndürülen URL'yi geniş karakterde tutacak kadar büyük, bayt cinsinden boyutlandırılmış bir arabellek geçirmelidir. Kullanıcı aracısını ayarlarken arabellek boyutu dizenin karakter cinsinden uzunluğu ve NULL sonlandırıcısıdır.
WINHTTP_OPTION_USERNAME
Kullanıcı adını içeren bir dizeyi ayarlar veya alır.
WINHTTP_OPTION_WEB_SOCKET_CLOSE_TIMEOUT
WinHttpWebSocketClose'un yakın el sıkışmasını tamamlamak için bekleyeceği süreyi milisaniye olarak ayarlar. Varsayılan değer 10 saniyedir.
WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL
Bağlantı üzerinden canlı tutma paketi göndermek için aralığı milisaniye olarak ayarlar. Varsayılan aralık 30000 'dir (30 saniye). En düşük aralık 15000 'dir (15 saniye). 15000'den düşük bir değer ayarlamak için WinHttpSetOption kullanıldığında ERROR_INVALID_PARAMETER döndürülecektir.
Uyarı
WINHTTP_OPTION_WEB_SOCKET_KEEPALIVE_INTERVAL için varsayılan değer HKLM:\SOFTWARE\Microsoft\WebSocket\KeepaliveInterval konumundan okunur. Bir değer ayarlanmazsa, varsayılan değer olan 30000 kullanılır. 15000 milisaniyeden daha düşük bir tutma aralığına sahip olmak mümkün değildir.
WINHTTP_OPTION_WEB_SOCKET_RECEIVE_BUFFER_SIZE
WebSocket bağlantılarında kullanılacak alma arabelleği boyutunu belirten bir DWORD ayarlar veya alır.
WINHTTP_OPTION_WEB_SOCKET_SEND_BUFFER_SIZE
WebSocket bağlantılarında kullanılacak gönderme arabellek boyutunu belirten bir DWORD ayarlar veya alır.
WINHTTP_OPTION_WORKER_THREAD_COUNT
İş parçacığı havuzunun zaman uyumsuz tamamlamalar için kullanması gereken çalışan iş parçacığı sayısını belirten işaretsiz bir uzun tamsayı değeri ayarlar. Bu seçeneğin varsayılan değeri sıfırdır ve çalışan iş parçacığı sayısının sistemdeki CPU sayısına eşit olduğunu belirtir. Bu seçenek yalnızca zaman uyumsuz bir işlem gerçekleşmeden önce NULLHINTERNET tanıtıcısında ayarlanabilir. Bu seçenek yalnızca bir kez ayarlanabilir.
Şunlar için geçerlidir: Windows 7 ve üzeri; Windows Server 2008 R2 ve üzeri.
WINHTTP_OPTION_WRITE_BUFFER_SIZE
Bu seçenek kullanım dışıdır; hiçbir etkisi yoktur.
Açıklamalar
Aşağıdaki tabloda, hangi işleyiciler üzerinde işlem yapabileceklerini, sorgulanıp sorgulanamayacağını ve ayarlanıp ayarlanamayacağını ve kullanılan veri türünü belirterek seçenek bayrakları listelenmiştir. "X", seçenek bayrağının işlev veya tanıtıcı ile kullanım için geçerli olduğunu, "-" ise seçenek bayrağının geçersiz olduğunu belirtir.
Desteklenmeyen bir Windows sürümünde seçenek bayrağını ayarlamaya veya sorgulamaya çalışmak ERROR_WINHTTP_INVALID_OPTION.
Seçenek bayrağı ve veri türü | Oturum tutamacı | İstek tanıtıcısı | Sorgu seçeneği | Ayarla seçeneği | En Düşük Windows Sürümü |
---|---|---|---|---|---|
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 Sürüm 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 Sürüm 1903 |
WINHTTP_OPTION_CONNECTION_STATS_V1 TCP_INFO_v1 |
- | X | X | - | Windows 10 Sürüm 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 Sürüm 21H1 |
WINHTTP_OPTION_DISABLE_FEATURE DWORD |
- | X | - | X | - |
WINHTTP_OPTION_DISABLE_SECURE_PROTOCOL_FALLBACK bool |
X | - | - | X | Windows 10 Sürüm 1903 |
WINHTTP_OPTION_DISABLE_STREAM_QUEUE bool |
X | X | - | X | Windows 10 Sürüm 1809 |
WINHTTP_OPTION_ENABLE_FEATURE DWORD |
* | * | - | X | - |
WINHTTP_OPTION_ENABLE_HTTP_PROTOCOL DWORD |
X | X | - | X | Windows 10 Sürüm 1607 |
WINHTTP_OPTION_ENABLE_HTTP2_PLUS_CLIENT_CERT_CONTEXT bool |
X | - | - | X | Windows 10 Sürüm 21H1 |
WINHTTP_OPTION_ENABLETRACING DWORD |
- | - | X | X | - |
WINHTTP_OPTION_ENCODE_EXTRA bool |
X | X | - | X | Windows 10 Sürüm 1803 |
WINHTTP_OPTION_EXPIRE_CONNECTION Mevcut Değil |
- | X | - | X | Windows 10 Sürüm 1903 |
WINHTTP_OPTION_EXTENDED_ERROR DWORD |
X | X | X | - | - |
WINHTTP_OPTION_FIRST_AVAILABLE_CONNECTION bool |
X | - | - | X | Windows 10 Sürüm 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 Sürüm 1903 |
WINHTTP_OPTION_HTTP_PROTOCOL_USED DWORD |
- | X | X | - | Windows 10 Sürüm 1607 |
WINHTTP_OPTION_HTTP_VERSION HTTP_VERSION_INFO |
X | X | X | X | - |
WINHTTP_OPTION_HTTP2_KEEPALIVE DWORD |
X | - | - | X | Windows 10 Sürüm 21H1 |
WINHTTP_OPTION_HTTP2_PLUS_TRANSFER_ENCODING bool |
X | X | - | X | Windows 10 Sürüm 21H1 |
WINHTTP_OPTION_IGNORE_CERT_REVOCATION_OFFLINE bool |
- | X | - | X | Windows 10 Sürüm 2004 |
WINHTTP_OPTION_IPV6_FAST_FALLBACK bool |
X | - | - | X | Windows 10 Sürüm 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 Sürüm 1903 |
WINHTTP_OPTION_REQUEST_TIMES WINHTTP_REQUEST_TIMES |
- | X | X | - | Windows 10 Sürüm 1903 |
WINHTTP_OPTION_REQUIRE_STREAM_END bool |
X | X | - | X | Windows 10 Sürüm 21H1 |
WINHTTP_OPTION_RESOLUTION_HOSTNAME LPWSTR |
- | X | - | X | Windows 10 Sürüm 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 Sürüm 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 Sürüm 2004 |
WINHTTP_OPTION_SERVER_CERT_CONTEXT SERTIFIKA BAĞLAMı |
- | 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 Sürüm 21H1 |
WINHTTP_OPTION_TCP_FAST_OPEN bool |
X | - | - | X | Windows 10 Sürüm 2004 |
WINHTTP_OPTION_TCP_KEEPALIVE tcp_keepalive |
X | - | - | X | Windows 10 Sürüm 2004 |
WINHTTP_OPTION_TLS_FALSE_START bool |
X | - | - | X | Windows 10 Sürüm 2004 |
WINHTTP_OPTION_TLS_PROTOCOL_INSECURE_FALLBACK bool |
X | - | - | X | Windows 10 Sürüm 21H1 |
WINHTTP_OPTION_UNLOAD_NOTIFY_EVENT HINTERNET |
X | - | - | X | - |
WINHTTP_OPTION_UNSAFE_HEADER_PARSING DWORD |
- | X | - | X | - |
WINHTTP_OPTION_UPGRADE_TO_WEB_SOCKET Mevcut Değil |
- | 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 | - |
Uyarı
Windows XP ve Windows 2000 için bkz. Run-Time Gereksinimleri.
Gereksinimler
Gereksinim | Değer |
---|---|
Desteklenen en düşük düzeydeki istemci | Windows XP, SP3 ile Windows 2000 Professional [yalnızca masaüstü uygulamaları] |
Desteklenen en düşük sunucu | Windows Server 2003, SP3 ile Windows 2000 Server [yalnızca masaüstü uygulamaları] |
Yeniden Dağıtılabilir | Windows XP ve Windows 2000'de WinHTTP 5.0 ve Internet Explorer 5.01 veya üzeri. |
Başlık | Winhttp.h |