WebRequest 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í.
Vytvoří požadavek na identifikátor URI (Uniform Resource Identifier). Toto je abstract třída.
public ref class WebRequest abstract
public ref class WebRequest abstract : MarshalByRefObject, System::Runtime::Serialization::ISerializable
public abstract class WebRequest
public abstract class WebRequest : MarshalByRefObject, System.Runtime.Serialization.ISerializable
[System.Serializable]
public abstract class WebRequest : MarshalByRefObject, System.Runtime.Serialization.ISerializable
type WebRequest = class
type WebRequest = class
inherit MarshalByRefObject
interface ISerializable
[<System.Serializable>]
type WebRequest = class
inherit MarshalByRefObject
interface ISerializable
Public MustInherit Class WebRequest
Public MustInherit Class WebRequest
Inherits MarshalByRefObject
Implements ISerializable
- Dědičnost
-
WebRequest
- Dědičnost
- Odvozené
- Atributy
- Implementuje
Příklady
Následující příklad ukazuje, jak vytvořit WebRequest instanci a vrátit odpověď.
using System;
using System.IO;
using System.Net;
using System.Text;
namespace Examples.System.Net
{
public class WebRequestGetExample
{
public static void Main ()
{
// Create a request for the URL.
WebRequest request = WebRequest.Create ("http://www.contoso.com/default.html");
// If required by the server, set the credentials.
request.Credentials = CredentialCache.DefaultCredentials;
// Get the response.
HttpWebResponse response = (HttpWebResponse)request.GetResponse ();
// Display the status.
Console.WriteLine (response.StatusDescription);
// Get the stream containing content returned by the server.
Stream dataStream = response.GetResponseStream ();
// Open the stream using a StreamReader for easy access.
StreamReader reader = new StreamReader (dataStream);
// Read the content.
string responseFromServer = reader.ReadToEnd ();
// Display the content.
Console.WriteLine (responseFromServer);
// Cleanup the streams and the response.
reader.Close ();
dataStream.Close ();
response.Close ();
}
}
}
Imports System.IO
Imports System.Net
Imports System.Text
Namespace Examples.System.Net
Public Class WebRequestGetExample
Public Shared Sub Main()
' Create a request for the URL.
Dim request As WebRequest = WebRequest.Create("http://www.contoso.com/default.html")
' If required by the server, set the credentials.
request.Credentials = CredentialCache.DefaultCredentials
' Get the response.
Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
' Display the status.
Console.WriteLine(response.StatusDescription)
' Get the stream containing content returned by the server.
Dim dataStream As Stream = response.GetResponseStream()
' Open the stream using a StreamReader for easy access.
Dim reader As New StreamReader(dataStream)
' Read the content.
Dim responseFromServer As String = reader.ReadToEnd()
' Display the content.
Console.WriteLine(responseFromServer)
' Cleanup the streams and the response.
reader.Close()
dataStream.Close()
response.Close()
End Sub
End Class
End Namespace
Poznámky
Opatrnost
WebRequest, HttpWebRequest, ServicePointa WebClient jsou zastaralé a neměli byste je používat pro nový vývoj. Místo toho použijte HttpClient.
WebRequest
abstract je základní třída pro . Model požadavků a odpovědí net pro přístup k datům z internetu Aplikace, která používá model požadavků a odpovědí, může vyžadovat data z internetu způsobem, který je nezávislý na protokolu, ve kterém aplikace pracuje s instancemi WebRequest třídy, zatímco potomkové třídy specifické pro protokol provádějí podrobnosti požadavku.
Požadavky se odesílají z aplikace na konkrétní identifikátor URI, například na webové stránce na serveru. Identifikátor URI určuje správnou potomkovou třídu, která se má vytvořit ze seznamu potomků registrovaných WebRequest pro aplikaci. WebRequest potomky se obvykle registrují ke zpracování konkrétního protokolu, jako je HTTP nebo FTP, ale je možné je zaregistrovat ke zpracování požadavku na konkrétní server nebo cestu na serveru.
Třída WebRequest vyvolá WebException chybu při přístupu k internetovému prostředku. Vlastnost Status je jednou z WebExceptionStatus hodnot, která označuje zdroj chyby. Pokud Status je WebExceptionStatus.ProtocolError, Response vlastnost obsahuje WebResponse přijatý z internetového prostředku.
WebRequest Protože třída je abstract třída, skutečné chování WebRequest instancí za běhu je určeno potomkem třídy vrácenou metodouCreate. Další informace o výchozích hodnotách a výjimkách naleznete v dokumentaci pro třídy potomků, například HttpWebRequest a FileWebRequest.
Poznámka
K inicializaci nových WebRequest instancí použijte metoduCreate. Nepoužívejte WebRequest konstruktor.
Poznámka
Pokud aplikace, která vytvoří objekt WebRequest, běží s přihlašovacími údaji normálního uživatele, aplikace nebude mít přístup k certifikátům nainstalovaným v úložišti místního počítače, pokud mu k tomu nebyla explicitně udělena oprávnění.
Poznámky pro implementátory
Při dědění z WebRequest, musíte přepsat následující členy: Method, RequestUri, Headers, ContentLength, ContentType, Credentials, PreAuthenticate, BeginGetRequestStream(AsyncCallback, Object)GetRequestStream(), EndGetRequestStream(IAsyncResult)GetResponse(), , BeginGetResponse(AsyncCallback, Object)a EndGetResponse(IAsyncResult). Kromě toho musíte poskytnout implementaci IWebRequestCreate rozhraní, která definuje metodu použitou Create(Uri) při volání Create(Uri). Pomocí metody nebo konfiguračního souboru je nutné zaregistrovat třídu, RegisterPrefix(String, IWebRequestCreate) která implementuje IWebRequestCreate rozhraní.
Konstruktory
| Name | Description |
|---|---|
| WebRequest() |
Zastaralé.
Inicializuje novou instanci WebRequest třídy. |
| WebRequest(SerializationInfo, StreamingContext) |
Zastaralé.
Inicializuje novou instanci WebRequest třídy ze zadaných SerializationInfo instancí třídy a StreamingContext třídy. |
Vlastnosti
| Name | Description |
|---|---|
| AuthenticationLevel |
Získá nebo nastaví hodnoty označující úroveň ověřování a zosobnění použité pro tento požadavek. |
| CachePolicy |
Získá nebo nastaví zásady mezipaměti pro tento požadavek. |
| ConnectionGroupName |
Při přepsání v potomk třídy získá nebo nastaví název skupiny připojení pro požadavek. |
| ContentLength |
Při přepsání v potomk třídě získá nebo nastaví délku obsahu odesílaných dat požadavku. |
| ContentType |
Při přepsání v potomkové třídě získá nebo nastaví typ obsahu odesílaných dat požadavku. |
| CreatorInstance |
Zastaralé.
Při přepsání v potomk 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. |
| Credentials |
Při přepsání v potomkovací třídě získá nebo nastaví síťové přihlašovací údaje používané k ověřování požadavku s internetovým prostředkem. |
| DefaultCachePolicy |
Získá nebo nastaví výchozí zásady mezipaměti pro tento požadavek. |
| DefaultWebProxy |
Získá nebo nastaví globální proxy server HTTP. |
| Headers |
Při přepsání v potomkovací třídě získá nebo nastaví kolekci dvojic název/hodnota hlavičky přidružené k požadavku. |
| ImpersonationLevel |
Získá nebo nastaví úroveň zosobnění pro aktuální požadavek. |
| Method |
Při přepsání v potomk třídy získá nebo nastaví metodu protokolu pro použití v tomto požadavku. |
| PreAuthenticate |
Při přepsání v potomkové třídě označuje, zda se má požadavek předem ověřit. |
| Proxy |
Při přepsání v potomk třídy získá nebo nastaví síťový proxy server pro přístup k tomuto internetovému prostředku. |
| RequestUri |
Při přepsání v potomk třídy získá identifikátor URI internetového prostředku přidruženého k požadavku. |
| Timeout |
Získá nebo nastaví dobu v milisekundách před vypršením časového limitu požadavku. |
| UseDefaultCredentials |
Při přepsání v potomk třídy získá nebo nastaví Boolean hodnotu, která určuje, zda DefaultCredentials jsou odesílány s požadavky. |
Metody
| Name | Description |
|---|---|
| Abort() |
Žádost se přeruší. |
| BeginGetRequestStream(AsyncCallback, Object) |
Při přepsání v potomk třídy poskytuje asynchronní verzi GetRequestStream() metody. |
| BeginGetResponse(AsyncCallback, Object) |
Při přepsání v potomk třídy, zahájí asynchronní požadavek na internetový prostředek. |
| Create(String) |
Zastaralé.
Inicializuje novou WebRequest instanci pro zadané schéma identifikátoru URI. |
| Create(Uri) |
Zastaralé.
Inicializuje novou WebRequest instanci pro zadané schéma identifikátoru URI. |
| CreateDefault(Uri) |
Zastaralé.
Inicializuje novou WebRequest instanci pro zadané schéma identifikátoru URI. |
| CreateHttp(String) |
Zastaralé.
Inicializuje novou HttpWebRequest instanci pro zadaný řetězec identifikátoru URI. |
| CreateHttp(Uri) |
Zastaralé.
Inicializuje novou HttpWebRequest instanci pro zadaný identifikátor URI. |
| CreateObjRef(Type) |
Vytvoří objekt, který obsahuje všechny relevantní informace potřebné k vygenerování proxy serveru sloužícího ke komunikaci se vzdáleným objektem. (Zděděno od MarshalByRefObject) |
| EndGetRequestStream(IAsyncResult) |
Při přepsání v potomk třídy vrátí Stream pro zápis dat do internetového prostředku. |
| EndGetResponse(IAsyncResult) |
Při přepsání v potomk třídy vrátí hodnotu WebResponse. |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetLifetimeService() |
Zastaralé.
Načte objekt služby aktuální životnosti, který řídí zásady životnosti pro tuto instanci. (Zděděno od MarshalByRefObject) |
| GetObjectData(SerializationInfo, StreamingContext) |
Zastaralé.
Naplní SerializationInfo data potřebná k serializaci cílového objektu. |
| GetRequestStream() |
Při přepsání v potomk třídy vrátí Stream pro zápis dat do internetového prostředku. |
| GetRequestStreamAsync() |
Při přepsání v potomk třídy vrátí Stream pro zápis dat do internetového prostředku jako asynchronní operace. |
| GetResponse() |
Při přepsání v potomk třídy vrátí odpověď na internetový požadavek. |
| GetResponseAsync() |
Při přepsání v potomk třídy vrátí odpověď na internetový požadavek jako asynchronní operace. |
| GetSystemWebProxy() |
Vrátí proxy server nakonfigurovaný s nastavením možností internetu aktuálně zosobněného uživatele. |
| GetType() |
Získá Type aktuální instance. (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ří mělkou kopii aktuálního Object. (Zděděno od Object) |
| MemberwiseClone(Boolean) |
Vytvoří mělkou kopii aktuálního MarshalByRefObject objektu. (Zděděno od MarshalByRefObject) |
| RegisterPortableWebRequestCreator(IWebRequestCreate) |
Zastaralé.
Zaregistrujte IWebRequestCreate objekt. |
| RegisterPrefix(String, IWebRequestCreate) |
Zaregistruje WebRequest potomka pro zadaný identifikátor URI. |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
Zastaralé.
Při přepsání v potomk třídy naplní SerializationInfo instanci dat potřebnými k serializaci WebRequest. |