HttpWebRequest Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Poskytuje implementaci WebRequest třídy specifické pro protokol HTTP.
public ref class HttpWebRequest : System::Net::WebRequest
public ref class HttpWebRequest : System::Net::WebRequest, System::Runtime::Serialization::ISerializable
public class HttpWebRequest : System.Net.WebRequest
public class HttpWebRequest : System.Net.WebRequest, System.Runtime.Serialization.ISerializable
[System.Serializable]
public class HttpWebRequest : System.Net.WebRequest, System.Runtime.Serialization.ISerializable
type HttpWebRequest = class
inherit WebRequest
type HttpWebRequest = class
inherit WebRequest
interface ISerializable
[<System.Serializable>]
type HttpWebRequest = class
inherit WebRequest
interface ISerializable
Public Class HttpWebRequest
Inherits WebRequest
Public Class HttpWebRequest
Inherits WebRequest
Implements ISerializable
- Dědičnost
- Dědičnost
- Atributy
- Implementuje
Příklady
Následující příklad kódu vytvoří pro HttpWebRequest identifikátor URI http://www.contoso.com/
.
HttpWebRequest^ myReq = dynamic_cast<HttpWebRequest^>(WebRequest::Create( "http://www.contoso.com/" ));
HttpWebRequest myReq =
(HttpWebRequest)WebRequest.Create("http://www.contoso.com/");
Dim myReq As HttpWebRequest = _
WebRequest.Create("http://www.contoso.com/")
Poznámky
Důležité
Doporučujeme nepoužívat HttpWebRequest
pro nový vývoj. Místo toho použijte System.Net.Http.HttpClient třídu .
Třída HttpWebRequest poskytuje podporu pro vlastnosti a metody definované v WebRequest a pro další vlastnosti a metody, které umožňují uživateli komunikovat přímo se servery pomocí http.
Nepoužívejte HttpWebRequest konstruktor. K inicializaci nových HttpWebRequest objektů použijte metodu WebRequest.Create . Pokud je http://
schéma identifikátoru URI (Uniform Resource Identifier) nebo https://
, Create vrátí HttpWebRequest objekt.
Metoda GetResponse provede synchronní požadavek na prostředek zadaný ve RequestUri vlastnosti a vrátí objekt HttpWebResponse , který obsahuje objekt odpovědi. Data odpovědi lze přijímat pomocí datového proudu vráceného nástrojem GetResponseStream. Pokud je objekt odpovědi nebo datový proud odpovědi zavřený, zbývající data propadnou. Zbývající data se vyprázdní a soket se znovu použije pro následné požadavky při zavření objektu odpovědi nebo streamu, pokud jsou splněny následující podmínky: jedná se o požadavek na zachování stavu nebo požadavek v kanálu, je potřeba přijímat jenom malé množství dat nebo se zbývající data přijímají v malém časovém intervalu. Pokud žádná z uvedených podmínek nezadrží nebo dojde k překročení doby vyprázdnění, soket se zavře. V případě udržování živého připojení nebo připojení v kanálu důrazně doporučujeme, aby aplikace načítala streamy až do EOF. Tím se zajistí, že se soket znovu použije pro následné požadavky, což povede k lepšímu výkonu a menšímu využití prostředků.
Pokud chcete odeslat data do prostředku, GetRequestStream vrátí metoda objekt, který Stream se má použít k odeslání dat. Metody BeginGetRequestStream a EndGetRequestStream poskytují asynchronní přístup k datovému streamu odesílání.
Pro ověřování klienta pomocí HttpWebRequestmusí být klientský certifikát nainstalovaný v úložišti certifikátů aktuálního uživatele.
Třída HttpWebRequest vyvolá WebException chybu, když při přístupu k prostředku dojde k chybám. Vlastnost WebException.Status obsahuje WebExceptionStatus hodnotu, která označuje zdroj chyby. Pokud WebException.Status je WebExceptionStatus.ProtocolError, Response vlastnost obsahuje HttpWebResponse přijatý z prostředku.
HttpWebRequest zveřejňuje běžné hodnoty hlaviček HTTP odesílané do internetového prostředku jako vlastnosti, nastavené metodami nebo nastavené systémem; Následující tabulka obsahuje úplný seznam. Další záhlaví ve Headers vlastnosti můžete nastavit jako páry název/hodnota. Všimněte si, že servery a mezipaměti se můžou během požadavku měnit nebo přidávat hlavičky.
V následující tabulce jsou uvedeny hlavičky HTTP, které jsou nastaveny buď vlastnostmi nebo metodami, nebo systémem.
Hlavička | Nastavit podle |
---|---|
Accept |
Nastaví se Accept podle vlastnosti. |
Connection |
Nastavte vlastnost Connection , KeepAlive vlastnost. |
Content-Length |
Nastaví se ContentLength podle vlastnosti. |
Content-Type |
Nastaví se ContentType podle vlastnosti. |
Expect |
Nastaví se Expect podle vlastnosti. |
Date |
Nastaví systém na aktuální datum. |
Host |
Nastavte systémem aktuální informace o hostiteli. |
If-Modified-Since |
Nastaví se IfModifiedSince podle vlastnosti. |
Range |
Nastaveno metodou AddRange . |
Referer |
Nastaví se Referer podle vlastnosti. |
Transfer-Encoding |
Nastaveno TransferEncoding vlastností ( SendChunked vlastnost musí být true ). |
User-Agent |
Nastaví se UserAgent podle vlastnosti. |
Poznámka
HttpWebRequest se zaregistruje automaticky. Před použitím identifikátorů URI začínajících na nebo https://
není nutné volat metodu RegisterPrefix pro registraciSystem.Net.HttpWebRequest.http://
Místní počítač nebo konfigurační soubor aplikace může určit, že se použije výchozí proxy server. Proxy Pokud je vlastnost zadaná, nastavení proxy serveru z Proxy vlastnosti přepíšou konfigurační soubor místního počítače nebo aplikace a HttpWebRequest instance použije zadané nastavení proxy serveru. Pokud není v konfiguračním souboru zadán žádný proxy server a Proxy vlastnost není určena, HttpWebRequest třída použije nastavení proxy serveru zděděné z možností Internetu v místním počítači. Pokud v možnostech Internetu nejsou žádná nastavení proxy serveru, odešle se požadavek přímo na server.
Poznámka
Architektura ukládá relace SSL do mezipaměti, jakmile jsou vytvořeny, a pokud je to možné, pokusí se znovu použít relaci uloženou v mezipaměti pro nový požadavek. Při pokusu o opakované použití relace SSL rozhraní použije první prvek ClientCertificates (pokud existuje) nebo se pokusí znovu použít anonymní relace, pokud ClientCertificates je prázdný.
Poznámka
Z bezpečnostních důvodů jsou soubory cookie ve výchozím nastavení zakázané. Pokud chcete soubory cookie používat, povolte soubory cookie pomocí CookieContainer vlastnosti .
Rozhraní .NET Framework 4.6 obsahuje novou funkci zabezpečení, která blokuje nezabezpečené šifrovací a hashovací algoritmy pro připojení. Aplikace používající protokol TLS/SSL prostřednictvím rozhraní API, jako jsou HttpClient, HttpWebRequest, FTPClient, SmtpClient, SslStream atd., a cílí na rozhraní .NET Framework 4.6, získají ve výchozím nastavení bezpečnější chování.
Vývojáři se mohou chtít z tohoto chování odhlásit, aby zachovali interoperabilitu se svými stávajícími službami SSL3 nebo službami TLS s rc4. Tento článek vysvětluje, jak upravit kód tak, aby bylo nové chování zakázané.
Konstruktory
HttpWebRequest() |
Zastaralé.
Zastaralé.
Inicializuje novou instanci HttpWebRequest třídy . Tento konstruktor je zastaralý. |
HttpWebRequest(SerializationInfo, StreamingContext) |
Zastaralé.
Zastaralé.
Zastaralé.
Zastaralé.
Inicializuje novou instanci HttpWebRequest třídy ze zadaných SerializationInfo instancí tříd a StreamingContext . Tento konstruktor je zastaralý. |
Vlastnosti
Accept |
Získá nebo nastaví hodnotu hlavičky |
Address |
Získá identifikátor URI (Uniform Resource Identifier) internetového prostředku, který skutečně odpovídá na požadavek. |
AllowAutoRedirect |
Získá nebo nastaví hodnotu, která označuje, zda požadavek má následovat odpovědi přesměrování. |
AllowReadStreamBuffering |
Získá nebo nastaví hodnotu, která označuje, zda chcete ukládat do vyrovnávací paměti přijaté z internetového prostředku. |
AllowWriteStreamBuffering |
Získá nebo nastaví hodnotu, která označuje, zda se data odesílaná do internetového prostředku mají ukládat do vyrovnávací paměti. |
AuthenticationLevel |
Získá nebo nastaví hodnoty označující úroveň ověřování a zosobnění použité pro tento požadavek. (Zděděno od WebRequest) |
AutomaticDecompression |
Získá nebo nastaví typ dekomprese, který se používá. |
CachePolicy |
Získá nebo nastaví zásady mezipaměti pro tento požadavek. (Zděděno od WebRequest) |
ClientCertificates |
Získá nebo nastaví kolekci certifikátů zabezpečení, které jsou přidruženy k tomuto požadavku. |
Connection |
Získá nebo nastaví hodnotu hlavičky |
ConnectionGroupName |
Získá nebo nastaví název skupiny připojení pro požadavek. |
ConnectionGroupName |
Při přepsání v odvozené třídě získá nebo nastaví název skupiny připojení pro požadavek. (Zděděno od WebRequest) |
ContentLength |
Získá nebo nastaví hlavičku |
ContentLength |
Při přepsání v odvozené třídě získá nebo nastaví délku obsahu odesílaných dat požadavku. (Zděděno od WebRequest) |
ContentType |
Získá nebo nastaví hodnotu hlavičky |
ContinueDelegate |
Získá nebo nastaví metodu delegáta volanou při přijetí odpovědi HTTP 100-continue z internetového prostředku. |
ContinueTimeout |
Získá nebo nastaví časový limit v milisekundách, aby počkala na 100-Continue ze serveru. |
CookieContainer |
Získá nebo nastaví soubory cookie přidružené k požadavku. |
CreatorInstance |
Zastaralé.
Při přepsání v odvozené třídě získá objekt továrny odvozený z IWebRequestCreate třídy použité k vytvoření WebRequest instance pro provedení požadavku na zadaný identifikátor URI. (Zděděno od WebRequest) |
Credentials |
Získá nebo nastaví ověřovací informace pro požadavek. |
Date |
Získá nebo nastaví hodnotu hlavičky |
DefaultCachePolicy |
Získá nebo nastaví výchozí zásady mezipaměti pro tento požadavek. |
DefaultMaximumErrorResponseLength |
Získá nebo nastaví výchozí maximální délku odpovědi na chybu HTTP. |
DefaultMaximumResponseHeadersLength |
Získá nebo nastaví výchozí pro MaximumResponseHeadersLength vlastnost . |
Expect |
Získá nebo nastaví hodnotu hlavičky |
HaveResponse |
Získá hodnotu, která označuje, zda byla přijata odpověď z internetového prostředku. |
Headers |
Určuje kolekci dvojic název/hodnota, které tvoří hlavičky PROTOKOLU HTTP. |
Host |
Získá nebo nastaví hodnotu hlavičky hostitele použít v požadavku HTTP nezávisle na identifikátoru URI požadavku. |
IfModifiedSince |
Získá nebo nastaví hodnotu hlavičky |
ImpersonationLevel |
Získá nebo nastaví úroveň zosobnění pro aktuální požadavek. (Zděděno od WebRequest) |
KeepAlive |
Získá nebo nastaví hodnotu, která označuje, zda vytvořit trvalé připojení k internetovému prostředku. |
MaximumAutomaticRedirections |
Získá nebo nastaví maximální počet přesměrování, které požadavek následuje. |
MaximumResponseHeadersLength |
Získá nebo nastaví maximální povolenou délku hlaviček odpovědi. |
MediaType |
Získá nebo nastaví typ média požadavku. |
Method |
Získá nebo nastaví metodu pro požadavek. |
Pipelined |
Získá nebo nastaví hodnotu, která označuje, zda se má požadavek kanálovat do internetového prostředku. |
PreAuthenticate |
Získá nebo nastaví hodnotu, která označuje, zda odeslat autorizační hlavičku s požadavkem. |
PreAuthenticate |
Při přepsání v odvozené třídě určuje, zda se má požadavek předběžně ověřit. (Zděděno od WebRequest) |
ProtocolVersion |
Získá nebo nastaví verzi protokolu HTTP, která se má použít pro požadavek. |
Proxy |
Získá nebo nastaví informace proxy pro požadavek. |
Proxy |
Při přepsání v odvozené třídě získá nebo nastaví síťový proxy server pro přístup k tomuto internetovému prostředku. (Zděděno od WebRequest) |
ReadWriteTimeout |
Získá nebo nastaví časový limit v milisekundách při zápisu do datového proudu nebo čtení z datového proudu. |
Referer |
Získá nebo nastaví hodnotu hlavičky |
RequestUri |
Získá původní identifikátor URI (Uniform Resource Identifier) požadavku. |
SendChunked |
Získá nebo nastaví hodnotu, která označuje, zda se mají odesílat data v segmentech do internetového prostředku. |
ServerCertificateValidationCallback |
Získá nebo nastaví funkci zpětného volání k ověření certifikátu serveru. |
ServicePoint |
Získá bod služby, který se má použít pro požadavek. |
SupportsCookieContainer |
Získá hodnotu, která označuje, zda požadavek poskytuje podporu pro CookieContainer. |
Timeout |
Získá nebo nastaví hodnotu časového limitu v milisekundách pro GetResponse() metody a GetRequestStream() . |
Timeout |
Získá nebo nastaví dobu v milisekundách před vypršením časového limitu požadavku. (Zděděno od WebRequest) |
TransferEncoding |
Získá nebo nastaví hodnotu hlavičky |
UnsafeAuthenticatedConnectionSharing |
Získá nebo nastaví hodnotu, která označuje, zda povolit vysokorychlostní ntlm ověřené sdílení připojení. |
UseDefaultCredentials |
Získá nebo nastaví Boolean hodnotu, která určuje, zda jsou výchozí přihlašovací údaje odeslány s požadavky. |
UseDefaultCredentials |
Při přepsání v odvozené třídě získá nebo nastaví Boolean hodnotu, která určuje, zda DefaultCredentials jsou odeslány s požadavky. (Zděděno od WebRequest) |
UserAgent |
Získá nebo nastaví hodnotu hlavičky |
Metody
Abort() |
Zruší požadavek na internetový prostředek. |
AddRange(Int32) |
Přidá do požadavku hlavičku rozsahu bajtů pro konkrétní rozsah od začátku nebo konce požadovaných dat. |
AddRange(Int32, Int32) |
Přidá do požadavku hlavičku rozsahu bajtů pro zadaný rozsah. |
AddRange(Int64) |
Přidá do požadavku hlavičku rozsahu bajtů pro konkrétní rozsah od začátku nebo konce požadovaných dat. |
AddRange(Int64, Int64) |
Přidá do požadavku hlavičku rozsahu bajtů pro zadaný rozsah. |
AddRange(String, Int32) |
Přidá do požadavku hlavičku Range pro konkrétní rozsah od začátku nebo konce požadovaných dat. |
AddRange(String, Int32, Int32) |
Přidá do požadavku na zadaný rozsah hlavičku rozsahu. |
AddRange(String, Int64) |
Přidá do požadavku hlavičku Range pro konkrétní rozsah od začátku nebo konce požadovaných dat. |
AddRange(String, Int64, Int64) |
Přidá do požadavku na zadaný rozsah hlavičku rozsahu. |
BeginGetRequestStream(AsyncCallback, Object) |
Začne asynchronní požadavek na objekt, který Stream se má použít k zápisu dat. |
BeginGetResponse(AsyncCallback, Object) |
Zahájí asynchronní požadavek na internetový prostředek. |
CreateObjRef(Type) |
Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy sloužící ke komunikaci se vzdáleným objektem. (Zděděno od MarshalByRefObject) |
EndGetRequestStream(IAsyncResult) |
Ukončí asynchronní požadavek na objekt, který Stream se má použít k zápisu dat. |
EndGetRequestStream(IAsyncResult, TransportContext) |
Ukončí asynchronní požadavek na objekt, který Stream se má použít k zápisu dat, a výstupy TransportContext přidružené k datovému proudu. |
EndGetResponse(IAsyncResult) |
Ukončí asynchronní požadavek na internetový prostředek. |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Vrátí hodnotu hash pro WebRequest instanci. |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetLifetimeService() |
Zastaralé.
Načte aktuální životnost objektu služby, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
GetObjectData(SerializationInfo, StreamingContext) |
Zastaralé.
Zastaralé.
Zastaralé.
Naplní SerializationInfo objekt daty potřebnými k serializaci cílového objektu. |
GetObjectData(SerializationInfo, StreamingContext) |
Zastaralé.
Naplní SerializationInfo objekt daty potřebnými k serializaci cílového objektu. (Zděděno od WebRequest) |
GetRequestStream() |
Stream Získá objekt k zápisu dat požadavku. |
GetRequestStream() |
Při přepsání v odvozené třídě vrátí hodnotu pro Stream zápis dat do internetového prostředku. (Zděděno od WebRequest) |
GetRequestStream(TransportContext) |
Získá objekt, který Stream se použije k zápisu dat požadavku a výstupu TransportContext přidruženého k datovému proudu. |
GetRequestStreamAsync() |
Při přepsání v odvozené třídě vrátí hodnotu Stream pro zápis dat do internetového prostředku jako asynchronní operaci. (Zděděno od WebRequest) |
GetResponse() |
Vrátí odpověď z internetového zdroje. |
GetResponse() |
Při přepsání v odvozené třídě, vrátí odpověď na požadavek internetu. (Zděděno od WebRequest) |
GetResponseAsync() |
Při přepsání v odvozené třídě vrátí odpověď na požadavek internetu jako asynchronní operaci. (Zděděno od WebRequest) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
InitializeLifetimeService() |
Zastaralé.
Získá životnost objektu služby, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
MemberwiseClone(Boolean) |
Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu. (Zděděno od MarshalByRefObject) |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Zastaralé.
Zastaralé.
Zastaralé.
Naplní SerializationInfo objekt daty potřebnými k serializaci cílového objektu. |
Metody rozšíření
GetRequestMetadata(HttpWebRequest) |
Získá metadata pro odchozí požadavky, které se mají použít pro účely telemetrie. |
SetRequestMetadata(HttpWebRequest, RequestMetadata) |
Nastaví metadata odchozích požadavků, která se mají použít pro účely telemetrie. |
Platí pro
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro