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 specifickou 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ří HttpWebRequest pro 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é
Nedoporučujeme používat HttpWebRequest
pro nový vývoj. Místo toho použijte System.Net.Http.HttpClient třídu.
Třída HttpWebRequest poskytuje podporu vlastností a metod definovaných v WebRequest a pro další vlastnosti a metody, které umožňují uživateli pracovat přímo se servery pomocí protokolu HTTP.
HttpWebRequest Nepoužívejte konstruktor. Použijte metodu WebRequest.Create k inicializaci nových HttpWebRequest objektů. Pokud je http://
schéma identifikátoru URI (Uniform Resource Identifier) nebo https://
Create vrátí HttpWebRequest objekt.
Metoda GetResponse vytvoří synchronní požadavek na prostředek zadaný ve RequestUri vlastnosti a vrátí HttpWebResponse , který obsahuje objekt odpovědi. Data odpovědi lze přijímat pomocí datového proudu vráceného GetResponseStream. Pokud je objekt odpovědi nebo stream odpovědi zavřený, zbývající data se zpochybní. Zbývající data budou vyprázdněna a soket se znovu použije pro následné požadavky při zavření objektu odpovědi nebo datového proudu, pokud jsou splněné následující podmínky: jedná se o požadavek na zachování nebo kanál, je potřeba přijímat pouze malé množství dat nebo zbývající data se přijímají v malém časovém intervalu. Pokud se žádná z uvedených podmínek přidrží nebo dojde k překročení doby vyprázdnění, bude zásuvka uzavřena. Pro zachování nebo kanálová připojení důrazně doporučujeme, aby aplikace přečetla datové proudy, dokud EOF nečte. Tím zajistíte, že se soket znovu použije pro následné požadavky, což vede k lepšímu výkonu a menšímu využití prostředků.
Pokud chcete odesílat data do prostředku, GetRequestStream vrátí Stream metoda objekt, který se použije k odesílání dat. Metody BeginGetRequestStream poskytují EndGetRequestStream asynchronní přístup k datovému streamu pro odesílání.
Pro ověřování klientů s klientským certifikátem HttpWebRequestmusí být nainstalován v úložišti certifikátů aktuálního uživatele.
Třída HttpWebRequest vyvolá WebException , když dojde k chybám při přístupu k prostředku. Vlastnost WebException.Status obsahuje WebExceptionStatus hodnotu, která označuje zdroj chyby. Pokud WebException.Status je , WebExceptionStatus.ProtocolErrorResponse vlastnost obsahuje HttpWebResponse přijatou 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. V vlastnosti můžete nastavit další hlavičky Headers jako páry name/value. Všimněte si, že servery a mezipaměti můžou během požadavku měnit nebo přidávat hlavičky.
Následující tabulka uvádí hlavičky HTTP, které jsou nastavené vlastnostmi nebo metodami nebo systémem.
Hlavička | Nastavit podle |
---|---|
Accept |
Nastavte vlastnost Accept . |
Connection |
Nastavte vlastnost Connection , KeepAlive vlastnost. |
Content-Length |
Nastavte vlastnost ContentLength . |
Content-Type |
Nastavte vlastnost ContentType . |
Expect |
Nastavte vlastnost Expect . |
Date |
Nastavte systém na aktuální datum. |
Host |
Nastavte systém na aktuální informace o hostiteli. |
If-Modified-Since |
Nastavte vlastnost IfModifiedSince . |
Range |
Nastavte metodou AddRange . |
Referer |
Nastavte vlastnost Referer . |
Transfer-Encoding |
Nastavte vlastnost TransferEncoding ( SendChunked vlastnost musí být true ). |
User-Agent |
Nastavte vlastnost UserAgent . |
Poznámka
HttpWebRequest se automaticky zaregistruje. Před RegisterPrefix použitím identifikátorů URI začínajících nebo http://
https://
.System.Net.HttpWebRequest
Konfigurační soubor místního počítače nebo 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íše místní počítač nebo konfigurační soubor 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í zadána, HttpWebRequest třída používá nastavení proxy zděděné z Aplikace Internet Explorer v místním počítači. Pokud v Internet Exploreru nejsou k dispozici žádná nastavení proxy serveru, požadavek se odešle přímo na server.
HttpWebRequest Třída parsuje seznam obejití proxy serveru se zástupnými znaky zděděnými z Internet Exploreru jinak, než je seznam obejití, parsuje přímo Internet Explorer. Třída například HttpWebRequest parsuje seznam obejití "nt*" z Internet Exploreru jako regulární výraz nt.$. Liší se to od nativního chování Aplikace Internet Explorer. Adresa URL "http://intxxxxx
" by tedy proxy vynechala pomocí HttpWebRequest třídy, ale nepoužívat proxy server pomocí Internet Exploreru.
Poznámka
Architektura ukládá relace SSL do mezipaměti při jejich vytváření a pokud je to možné, pokusí se znovu použít relaci uloženou v mezipaměti. Při pokusu o opakované použití relace SSL používá architektura 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 používat soubory cookie, povolte soubory cookie pomocí CookieContainer vlastnosti.
Rozhraní .NET Framework 4.6 obsahuje novou funkci zabezpečení, která blokuje nezabezpečené šifrovací algoritmy a algoritmy hash 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ílení na rozhraní .NET Framework 4.6 ve výchozím nastavení získávají bezpečnější chování.
Vývojáři můžou chtít toto chování vyloučit, aby zachovali interoperabilitu se svými stávajícími službami SSL3 NEBO službami TLS w/ 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é.
Zastaralé.
Inicializuje novou instanci HttpWebRequest třídy ze zadaných SerializationInfo instancí a StreamingContext tříd. Tento konstruktor je zastaralý. |
HttpWebRequest(Uri) |
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ě reaguje na požadavek. |
AllowAutoRedirect |
Získá nebo nastaví hodnotu, která označuje, zda má požadavek sledovat odpovědi přesměrování. |
AllowReadStreamBuffering |
Získá nebo nastaví hodnotu, která označuje, zda se má 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 mají ukládat data uložená do vyrovnávací paměti odesílaných do internetového prostředku. |
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ásadu 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žené 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 potomkovací 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 potomkovací 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í delegovací metodu volanou, když je přijata odpověď HTTP 100-continue z internetového prostředku. |
ContinueTimeout |
Získá nebo nastaví časový limit v milisekundách, aby počkal na 100-Continue ze serveru. |
CookieContainer |
Získá nebo nastaví soubory cookie přidružené k žádosti. |
CreatorInstance |
Zastaralé.
Při přepsání v potomku třídy získá objekt továrny odvozený z IWebRequestCreate třídy použité k vytvoření WebRequest instance pro vytvoření 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 chybové odpovědi 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 odpověď přijata z internetového prostředku. |
Headers |
Určuje kolekci dvojic názvů a hodnot, které tvoří hlavičky HTTP. |
Host |
Získá nebo nastaví hodnotu hlavičky hostitele pro použití 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 se má 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 požadavku. |
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 má odeslat autorizační hlavičku s požadavkem. |
PreAuthenticate |
Při přepsání v potomkové třídě označuje, zda se má požadavek před ověřením 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 o proxy serveru pro požadavek. |
Proxy |
Při přepsání v potomkovací 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 nebo čtení ze streamu. |
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í pro 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 metody GetResponse() a GetRequestStream() metody. |
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í sdílení připojení ověřené protokolem NTLM. |
UseDefaultCredentials |
Získá nebo nastaví Boolean hodnotu, která určuje, jestli se s požadavky odesílají výchozí přihlašovací údaje. |
UseDefaultCredentials |
Při přepsání v potomkovací třídě získá nebo nastaví Boolean hodnotu, která řídí, zda DefaultCredentials jsou odesílá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á hlavičku bajtového rozsahu do požadavku na konkrétní oblast od začátku nebo konce požadovaných dat. |
AddRange(Int32, Int32) |
Přidá hlavičku bajtového rozsahu do požadavku pro zadanou oblast. |
AddRange(Int64) |
Přidá hlavičku bajtového rozsahu do požadavku na konkrétní oblast od začátku nebo konce požadovaných dat. |
AddRange(Int64, Int64) |
Přidá hlavičku bajtového rozsahu do požadavku pro zadanou oblast. |
AddRange(String, Int32) |
Přidá hlavičku Rozsah do požadavku na konkrétní oblast od začátku nebo konce požadovaných dat. |
AddRange(String, Int32, Int32) |
Přidá hlavičku rozsahu do požadavku na zadanou oblast. |
AddRange(String, Int64) |
Přidá hlavičku Rozsah do požadavku na konkrétní oblast od začátku nebo konce požadovaných dat. |
AddRange(String, Int64, Int64) |
Přidá hlavičku rozsahu do požadavku na zadanou oblast. |
BeginGetRequestStream(AsyncCallback, Object) |
Zahájí asynchronní požadavek na Stream objekt, který 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 serveru používaného ke komunikaci se vzdáleným objektem. (Zděděno od MarshalByRefObject) |
EndGetRequestStream(IAsyncResult) |
Ukončí asynchronní požadavek na Stream objekt, který se má použít k zápisu dat. |
EndGetRequestStream(IAsyncResult, TransportContext) |
Ukončí asynchronní požadavek na objekt, Stream který se má použít k zápisu dat a výstupů TransportContext přidružených 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 instance WebRequest . |
GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
GetLifetimeService() |
Zastaralé.
Načte aktuální objekt služby životnosti, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
GetObjectData(SerializationInfo, StreamingContext) |
Zastaralé.
Zastaralé.
Zastaralé.
Naplní SerializationInfo data potřebná k serializaci cílového objektu. |
GetObjectData(SerializationInfo, StreamingContext) |
Zastaralé.
Naplní SerializationInfo data potřebná k serializaci cílového objektu. (Zděděno od WebRequest) |
GetRequestStream() |
Stream Získá objekt, který se použije k zápisu dat požadavku. |
GetRequestStream() |
Při přepsání v potomkové třídě vrátí hodnotu Stream pro zápis dat do internetového prostředku. (Zděděno od WebRequest) |
GetRequestStream(TransportContext) |
Stream Získá objekt, který se použije k zápisu dat požadavku a výstupy TransportContext přidružené k datovému proudu. |
GetRequestStreamAsync() |
Při přepsání v potomkové třídě vrátí hodnotu Stream pro zápis dat do internetového prostředku jako asynchronní operace. (Zděděno od WebRequest) |
GetResponse() |
Vrátí odpověď z internetového prostředku. |
GetResponse() |
Při přepsání v potomkové třídě vrátí odpověď na internetový požadavek. (Zděděno od WebRequest) |
GetResponseAsync() |
Při přepsání v potomkové třídě vrátí odpověď na internetový požadavek jako asynchronní operace. (Zděděno od WebRequest) |
GetType() |
Type Získá aktuální instanci. (Zděděno od Object) |
InitializeLifetimeService() |
Zastaralé.
Získá objekt služby životnosti pro řízení zásad životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
MemberwiseClone() |
Vytvoří použádnou kopii aktuálního souboru Object. (Zděděno od Object) |
MemberwiseClone(Boolean) |
Vytvoří kopii aktuálního objektu bez MarshalByRefObject podmět. (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é.
SerializationInfo Naplní data potřebná k serializaci cílového objektu. |