Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
S několika výjimkami je WinINet nadmnožinou WinHTTP. Při volbě mezi těmito dvěma možnostmi byste měli použít WinINet , ledaže plánujete běh v rámci služby nebo procesu podobného službě, který vyžaduje zosobnění a izolaci relace.
Porovnání funkcí
| Funkce | WinINet | WinHTTP |
|---|---|---|
| Mezipaměť přihlašovacích údajů. Umožňuje automaticky získat přihlašovací údaje pro všechny integrované aplikace v aplikaci Windows Internet Explorer. Umožňuje také aplikaci spuštěnou mimo Internet Explorer zobrazit výzvu nebo zadat přihlašovací údaje pro server pouze jednou. Od tého dne jsou požadavky automatické. | Ano | Ne |
| Výzva k zadání přihlašovacích údajů. Poskytuje rozhraní API, které volajícímu kódu umožňuje vyzvat uživatele k zadání přihlašovacích údajů. | Ano | Ne |
| ftp | Ano | Ne |
| podpora autodial/RAS . Toto je starší verze funkcí. Místo toho použijte vzdálený přístup. | Ano | Ne |
| zón. Automatická integrace se zónami zabezpečení Internet Exploreru | Ano | Ne |
| podpora IDNA. Integrovaná podpora IDNA RFC/Punycode. | Ano | Ano |
| cookie jar api. Podporují se trvalé a netrvalé soubory cookie. Jakákoli aplikace nebo skript to může použít k tomu, aby viděl stejné soubory cookie jako prohlížeč. | Ano | Ne |
| podpora chráněného režimu IE | Ano | Ne |
| Podpora dekomprese. Podpora kompresních metod gzip a deflate. | Ano | Ano |
| Podpora nahrávání po částech. Klientský kód musí provést rozdělení na bloky. | Ne | Ano |
| Podpora SOCKS4 (SOCKS verze 4). Nezahrnuje v4a. | Ano | Ne |
| Podpora SOCKS5 (SOCKS verze 5) | Ne | Ne |
| obousměrné odesílání a přijímání | Ne | Ne |
| překrývané vstupně-výstupní operace | Ne | Ne |
| Podpora schématu souborů. Užitečné pro proxy skripty se schématem souborů. | Ano | Ne |
| InternetOpenUrl. Zjednodušený kód pro otevření adresy URL | Ano | Ne |
| Podpora služeb. Lze spouštět ze služby nebo pod účtem služby. | Ne | Ano |
| Izolace relací. Samostatné relace nemají vliv na sebe navzájem. | Ne | Ano |
| zosobnění. Podporuje volání, když vlákno zosobňuje jiného uživatele. | Ne | Ano |
Související témata
Průvodce rychlým rozhodováním
Pomocí tohoto vývojového diagramu vyberte správný zásobník klienta HTTP:
-
Je váš kód spuštěn ve službě systému Windows, systémovém procesu nebo pod impersonací?
- Ano → použít WinHTTP.
-
Je váš kód desktopovou aplikací, která potřebuje nastavení proxy serveru Internet Options (IE) uživatele, soubory cookie nebo výzvy k přihlašovacím údajům?
- Ano → použít WinINet.
-
Píšete moderní desktopovou aplikaci C++ nebo UPW/WinUI?
- Ano → Použijte Windows.Web.Http (C++/WinRT pomocí oboru názvů Windows.Web.Http).
-
Píšete .NET aplikaci?
- Ano → použít System.Net.Http.HttpClient.
-
Potřebujete kompatibilitu mezi platformami?
- Ano → Použít knihovnu libcurl nebo podobnou přenosnou knihovnu.
Note
Kdy použít ani WinINet ani WinHTTP – Pokud vytváříte novou aplikaci a nevyžadujete starší integraci Win32, upřednostněte moderní alternativy uvedené výše. Nabízejí jednodušší rozhraní API a lepší podporu asynchronní synchronizace. Některé alternativy také nabízejí další výhody: libcurl a .NET HttpClient jsou multiplatformní; Dostupnost protokolu TLS 1.3 závisí na podkladovém zásobníku PROTOKOLU TLS a konfiguraci operačního systému. Vyhraďte si WinHTTP/WinINet pro scénáře, které konkrétně vyžadují podporu služby Win32, sdílení přihlašovacích údajů prohlížeče nebo hlubokou integraci proxy serveru.
Important
Připomenutí zabezpečení – Bez ohledu na to, který zásobník HTTP zvolíte, nikdy nezakažte ověření certifikátu TLS v produkčním prostředí. WinHTTP i WinINet umožňují ignorovat chyby certifikátů prostřednictvím příznaků, ale zpřístupňuje aplikaci útokům typu man-in-the-middle.