Sdílet prostřednictvím


WebRequest Třída

Definice

Vytvoří požadavek na identifikátor URI (Uniform Resource Identifier). Toto je třída abstract.

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 instanci WebRequest a vrátit odpověď.

#using <System.dll>

using namespace System;
using namespace System::IO;
using namespace System::Net;
using namespace System::Text;
int 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 = dynamic_cast<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 = gcnew 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();
}
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 je základní třída abstract 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 třídy WebRequest, 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 WebRequest potomků registrovaných 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, když dojde k chybám při přístupu k internetovému prostředku. Vlastnost Status je jednou z hodnot WebExceptionStatus, která označuje zdroj chyby. Při Status je WebExceptionStatus.ProtocolError, vlastnost Response obsahuje WebResponse přijaté z internetového prostředku.

Protože WebRequest třída je abstract třída, skutečné chování WebRequest instancí za běhu je určeno potomkem třídy vrácenou Create metodou. Další informace o výchozích hodnotách a výjimkách naleznete v dokumentaci pro potomky třídy, jako jsou HttpWebRequest a FileWebRequest.

Poznámka

K inicializaci nových instancí WebRequest použijte metodu Create. Nepoužívejte konstruktor WebRequest.

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 WebRequestje nutné přepsat následující členy: Method, RequestUri, Headers, ContentLength, ContentType, Credentials, PreAuthenticate, GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object), EndGetRequestStream(IAsyncResult), GetResponse(), BeginGetResponse(AsyncCallback, Object)a EndGetResponse(IAsyncResult). Kromě toho musíte poskytnout implementaci IWebRequestCreate rozhraní, která definuje Create(Uri) metodu použitou při volání Create(Uri). Pomocí metody RegisterPrefix(String, IWebRequestCreate) nebo konfiguračního souboru je nutné zaregistrovat třídu, která implementuje rozhraní IWebRequestCreate.

Konstruktory

WebRequest()
Zastaralé.

Inicializuje novou instanci WebRequest třídy.

WebRequest(SerializationInfo, StreamingContext)
Zastaralé.

Inicializuje novou instanci třídy WebRequest ze zadaných instancí SerializationInfo a StreamingContext třídy.

Vlastnosti

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 vytvoření 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 potomkovací třídě získá nebo nastaví hodnotu Boolean, která určuje, zda DefaultCredentials se odesílají s požadavky.

Metody

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 instanci WebRequest pro zadané schéma identifikátoru URI.

Create(Uri)
Zastaralé.

Inicializuje novou instanci WebRequest pro zadané schéma identifikátoru URI.

CreateDefault(Uri)
Zastaralé.

Inicializuje novou instanci WebRequest pro zadané schéma identifikátoru URI.

CreateHttp(String)
Zastaralé.

Inicializuje novou instanci HttpWebRequest pro zadaný řetězec identifikátoru URI.

CreateHttp(Uri)
Zastaralé.

Inicializuje novou instanci HttpWebRequest 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í 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 daty potřebnými 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 objektu MarshalByRefObject.

(Zděděno od MarshalByRefObject)
RegisterPortableWebRequestCreator(IWebRequestCreate)
Zastaralé.

Zaregistrujte objekt IWebRequestCreate.

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í

ISerializable.GetObjectData(SerializationInfo, StreamingContext)
Zastaralé.

Při přepsání v potomk třídy naplní instanci SerializationInfo dat potřebnými k serializaci WebRequest.

Platí pro

Viz také