WebRequest Klasa

Definicja

Wysyła żądanie do Uniform Resource Identifier (URI).Makes a request to a Uniform Resource Identifier (URI). Jest abstract to Klasa.This is an abstract class.

public ref class WebRequest abstract : MarshalByRefObject, System::Runtime::Serialization::ISerializable
[System.Serializable]
public abstract class WebRequest : MarshalByRefObject, System.Runtime.Serialization.ISerializable
type WebRequest = class
    inherit MarshalByRefObject
    interface ISerializable
Public MustInherit Class WebRequest
Inherits MarshalByRefObject
Implements ISerializable
Dziedziczenie
Pochodne
Atrybuty
Implementuje

Przykłady

Poniższy przykład pokazuje, jak utworzyć WebRequest wystąpienie i zwrócić odpowiedź.The following example shows how to create a WebRequest instance and return the response.

#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

Uwagi

Ważne

Nie zaleca się używania WebRequest ani klas pochodnych do nowych celów programistycznych.We don't recommend that you use WebRequest or its derived classes for new development. Zamiast tego należy użyć System.Net.Http.HttpClient klasy.Instead, use the System.Net.Http.HttpClient class.

WebRequestjest klasą abstract bazową dla. Model żądania/odpowiedzi sieci na potrzeby uzyskiwania dostępu do danych z Internetu.WebRequest is the abstract base class for .NET's request/response model for accessing data from the Internet. Aplikacja, która korzysta z modelu żądania/odpowiedzi, może zażądać danych z Internetu w niezależny od, w którym aplikacja działa z wystąpieniami WebRequest klasy, podczas gdy klasy podrzędne specyficzne dla protokołu wykonują szczegóły żądanie.An application that uses the request/response model can request data from the Internet in a protocol-agnostic manner, in which the application works with instances of the WebRequest class while protocol-specific descendant classes carry out the details of the request.

Żądania są wysyłane z aplikacji do określonego identyfikatora URI, takiego jak strona sieci Web na serwerze.Requests are sent from an application to a particular URI, such as a Web page on a server. Identyfikator URI określa odpowiednią klasę podrzędną do utworzenia z listy WebRequest elementów podrzędnych zarejestrowanych dla aplikacji.The URI determines the proper descendant class to create from a list of WebRequest descendants registered for the application. WebRequestelementy podrzędne są zwykle zarejestrowane w celu obsługi określonego protokołu, takiego jak HTTP lub FTP, ale mogą być zarejestrowane w celu obsługi żądania do określonego serwera lub ścieżki na serwerze.WebRequest descendants are typically registered to handle a specific protocol, such as HTTP or FTP, but can be registered to handle a request to a specific server or path on a server.

WebRequest KlasaWebException zgłasza wystąpienie błędów podczas uzyskiwania dostępu do zasobu internetowego.The WebRequest class throws a WebException when errors occur while accessing an Internet resource. Właściwość jest jedną WebExceptionStatus z wartości, która wskazuje Źródło błędu. StatusThe Status property is one of the WebExceptionStatus values that indicates the source of the error. Gdy Status ma WebExceptionStatus.ProtocolErrorwartość ,ResponseWłaściwość zawiera odebranezzasobuinternetowego.WebResponseWhen Status is WebExceptionStatus.ProtocolError, the Response property contains the WebResponse received from the Internet resource.

Ponieważ Klasa jest klasą WebRequest , rzeczywiste zachowanie wystąpień w czasie wykonywania jest określane przez klasę podrzędną zwracaną przez Create metodę. abstract WebRequestBecause the WebRequest class is an abstract class, the actual behavior of WebRequest instances at run time is determined by the descendant class returned by Create method. Więcej informacji o domyślnych wartościach i wyjątkach znajduje się w dokumentacji dotyczącej klas podrzędnych, takich HttpWebRequest jak FileWebRequesti.For more information about default values and exceptions, see the documentation for the descendant classes, such as HttpWebRequest and FileWebRequest.

Uwaga

Użyj metody Create , aby zainicjować nowe WebRequest wystąpienia.Use the Create method to initialize new WebRequest instances. Nie używaj WebRequest konstruktora.Do not use the WebRequest constructor.

Uwaga

Jeśli aplikacja, która tworzy obiekt WebRequest, jest uruchamiana z poświadczeniami normalnego użytkownika, aplikacja nie będzie mogła uzyskać dostępu do certyfikatów zainstalowanych w lokalnym magazynie komputera, chyba że uprawnienie zostało wyraźnie przyznane użytkownikowi.If the application that creates the WebRequest object runs with the credentials of a Normal user, the application will not be able to access certificates installed in the local machine store unless permission has been explicitly given to the user to do so.

Uwagi dotyczące implementowania

Gdy dziedziczysz z WebRequest, musisz zastąpić następujące elementy członkowskie: Headers ContentLength Method ContentType RequestUri ,GetRequestStream() ,,EndGetRequestStream(IAsyncResult) ,,,,,, BeginGetRequestStream(AsyncCallback, Object) Credentials PreAuthenticate , GetResponse(), BeginGetResponse(AsyncCallback, Object)i .EndGetResponse(IAsyncResult)When you inherit from WebRequest, you must override the following members: Method, RequestUri, Headers, ContentLength, ContentType, Credentials, PreAuthenticate, GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object), EndGetRequestStream(IAsyncResult), GetResponse(), BeginGetResponse(AsyncCallback, Object), and EndGetResponse(IAsyncResult). Ponadto należy podać implementację IWebRequestCreate interfejsu, która Create(Uri) definiuje metodę używaną podczas wywoływania Create(Uri).In addition, you must provide an implementation of the IWebRequestCreate interface, which defines the Create(Uri) method used when you call Create(Uri). Należy zarejestrować klasę, która implementuje IWebRequestCreate interfejs, RegisterPrefix(String, IWebRequestCreate) za pomocą metody lub pliku konfiguracji.You must register the class that implements the IWebRequestCreate interface, using the RegisterPrefix(String, IWebRequestCreate) method or the configuration file.

Konstruktory

WebRequest()

Inicjuje nowe wystąpienie klasy WebRequest klasy.Initializes a new instance of the WebRequest class.

WebRequest(SerializationInfo, StreamingContext)

Inicjuje nowe wystąpienie WebRequest klasy z określonych wystąpień SerializationInfo klas i StreamingContext .Initializes a new instance of the WebRequest class from the specified instances of the SerializationInfo and StreamingContext classes.

Właściwości

AuthenticationLevel

Pobiera lub ustawia wartości wskazujące poziom uwierzytelniania i personifikacji używany dla tego żądania.Gets or sets values indicating the level of authentication and impersonation used for this request.

CachePolicy

Pobiera lub ustawia zasady pamięci podręcznej dla tego żądania.Gets or sets the cache policy for this request.

ConnectionGroupName

Gdy jest zastępowany w klasie podrzędnej, Pobiera lub ustawia nazwę grupy połączeń dla żądania.When overridden in a descendant class, gets or sets the name of the connection group for the request.

ContentLength

Gdy jest zastępowany w klasie podrzędnej, Pobiera lub ustawia długość zawartości wysyłanych danych żądania.When overridden in a descendant class, gets or sets the content length of the request data being sent.

ContentType

Gdy jest zastępowany w klasie podrzędnej, Pobiera lub ustawia typ zawartości wysyłanych danych żądania.When overridden in a descendant class, gets or sets the content type of the request data being sent.

CreatorInstance

Gdy jest zastępowany w klasie podrzędnej, pobiera obiekt fabryki pochodzący IWebRequestCreate z klasy użytej do WebRequest utworzenia wystąpienia dla żądania do określonego identyfikatora URI.When overridden in a descendant class, gets the factory object derived from the IWebRequestCreate class used to create the WebRequest instantiated for making the request to the specified URI.

Credentials

Gdy jest zastępowany w klasie podrzędnej, Pobiera lub ustawia poświadczenia sieciowe używane do uwierzytelniania żądania przy użyciu zasobu internetowego.When overridden in a descendant class, gets or sets the network credentials used for authenticating the request with the Internet resource.

DefaultCachePolicy

Pobiera lub ustawia domyślne zasady pamięci podręcznej dla tego żądania.Gets or sets the default cache policy for this request.

DefaultWebProxy

Pobiera lub ustawia globalny serwer proxy HTTP.Gets or sets the global HTTP proxy.

Headers

Gdy jest zastępowany w klasie podrzędnej, Pobiera lub ustawia kolekcję par nazwa/wartość nagłówka skojarzonych z żądaniem.When overridden in a descendant class, gets or sets the collection of header name/value pairs associated with the request.

ImpersonationLevel

Pobiera lub ustawia poziom personifikacji dla bieżącego żądania.Gets or sets the impersonation level for the current request.

Method

Gdy jest zastępowany w klasie podrzędnej, Pobiera lub ustawia metodę protokołu, która ma być używana w tym żądaniu.When overridden in a descendant class, gets or sets the protocol method to use in this request.

PreAuthenticate

Gdy jest zastępowany w klasie podrzędnej, wskazuje, czy należy wstępnie uwierzytelnić żądanie.When overridden in a descendant class, indicates whether to pre-authenticate the request.

Proxy

Gdy jest zastępowany w klasie podrzędnej, Pobiera lub ustawia serwer proxy sieci do użycia w celu uzyskania dostępu do tego zasobu internetowego.When overridden in a descendant class, gets or sets the network proxy to use to access this Internet resource.

RequestUri

Gdy jest zastępowany w klasie podrzędnej, pobiera identyfikator URI zasobu internetowego skojarzonego z żądaniem.When overridden in a descendant class, gets the URI of the Internet resource associated with the request.

Timeout

Pobiera lub ustawia czas (w milisekundach), po upływie którego upłynął limit czasu żądania.Gets or sets the length of time, in milliseconds, before the request times out.

UseDefaultCredentials

Gdy jest zastępowany w klasie podrzędnej, Pobiera lub Boolean ustawia wartość, która DefaultCredentials kontroluje, czy są wysyłane żądania.When overridden in a descendant class, gets or sets a Boolean value that controls whether DefaultCredentials are sent with requests.

Metody

Abort()

Przerywa żądanie.Aborts the request.

BeginGetRequestStream(AsyncCallback, Object)

Gdy jest zastępowany w klasie podrzędnej, zapewnia asynchroniczną wersję GetRequestStream() metody.When overridden in a descendant class, provides an asynchronous version of the GetRequestStream() method.

BeginGetResponse(AsyncCallback, Object)

Gdy jest zastępowany w klasie podrzędnej, rozpoczyna asynchroniczne żądanie dla zasobu internetowego.When overridden in a descendant class, begins an asynchronous request for an Internet resource.

Create(String)

Inicjuje nowe WebRequest wystąpienie dla określonego schematu identyfikatora URI.Initializes a new WebRequest instance for the specified URI scheme.

Create(Uri)

Inicjuje nowe WebRequest wystąpienie dla określonego schematu identyfikatora URI.Initializes a new WebRequest instance for the specified URI scheme.

CreateDefault(Uri)

Inicjuje nowe WebRequest wystąpienie dla określonego schematu identyfikatora URI.Initializes a new WebRequest instance for the specified URI scheme.

CreateHttp(String)

Inicjuje nowe HttpWebRequest wystąpienie dla określonego ciągu URI.Initializes a new HttpWebRequest instance for the specified URI string.

CreateHttp(Uri)

Inicjuje nowe HttpWebRequest wystąpienie dla określonego identyfikatora URI.Initializes a new HttpWebRequest instance for the specified URI.

CreateObjRef(Type)

Tworzy obiekt, który zawiera wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikacji z obiektem zdalnym.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Odziedziczone po MarshalByRefObject)
EndGetRequestStream(IAsyncResult)

Gdy jest zastępowany w klasie podrzędnej, Stream zwraca wartość w celu zapisania danych w ramach zasobu internetowego.When overridden in a descendant class, returns a Stream for writing data to the Internet resource.

EndGetResponse(IAsyncResult)

Gdy jest zastępowany w klasie podrzędnej, WebResponsezwraca.When overridden in a descendant class, returns a WebResponse.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.Determines whether the specified object is equal to the current object.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.Serves as the default hash function.

(Odziedziczone po Object)
GetLifetimeService()

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Odziedziczone po MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)

SerializationInfo Wypełnia dane, które są konieczne do serializacji obiektu docelowego.Populates a SerializationInfo with the data needed to serialize the target object.

GetRequestStream()

Gdy jest zastępowany w klasie podrzędnej, Stream zwraca wartość w celu zapisania danych w ramach zasobu internetowego.When overridden in a descendant class, returns a Stream for writing data to the Internet resource.

GetRequestStreamAsync()

Gdy jest zastępowany w klasie podrzędnej, Stream zwraca do zapisu danych do zasobu internetowego jako operację asynchroniczną.When overridden in a descendant class, returns a Stream for writing data to the Internet resource as an asynchronous operation.

GetResponse()

Gdy jest zastępowany w klasie podrzędnej, zwraca odpowiedź na żądanie internetowe.When overridden in a descendant class, returns a response to an Internet request.

GetResponseAsync()

Gdy jest zastępowany w klasie podrzędnej, zwraca odpowiedź na żądanie internetowe jako operację asynchroniczną.When overridden in a descendant class, returns a response to an Internet request as an asynchronous operation.

GetSystemWebProxy()

Zwraca serwer proxy skonfigurowany za pomocą ustawień programu Internet Explorer aktualnie personifikowanego użytkownika.Returns a proxy configured with the Internet Explorer settings of the currently impersonated user.

GetType()

Pobiera Type bieżącego wystąpienia.Gets the Type of the current instance.

(Odziedziczone po Object)
InitializeLifetimeService()

Uzyskuje obiekt usługi istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.Obtains a lifetime service object to control the lifetime policy for this instance.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

Tworzy skróconą kopię bieżącego Object.Creates a shallow copy of the current Object.

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy skróconą kopię bieżącego MarshalByRefObject obiektu.Creates a shallow copy of the current MarshalByRefObject object.

(Odziedziczone po MarshalByRefObject)
RegisterPortableWebRequestCreator(IWebRequestCreate)

IWebRequestCreate Zarejestruj obiekt.Register an IWebRequestCreate object.

RegisterPrefix(String, IWebRequestCreate)

Rejestruje element WebRequest podrzędny dla podanego identyfikatora URI.Registers a WebRequest descendant for the specified URI.

ToString()

Zwraca ciąg, który reprezentuje bieżący obiekt.Returns a string that represents the current object.

(Odziedziczone po Object)

Jawne implementacje interfejsu

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

Gdy jest zastępowany w klasie podrzędnej, wypełnia SerializationInfo wystąpienie danymi wymaganymi do WebRequestserializacji.When overridden in a descendant class, populates a SerializationInfo instance with the data needed to serialize the WebRequest.

Zabezpieczenia

WebPermission
Aby uzyskać dostęp do żądanego identyfikatora URI lub dowolnego identyfikatora URI, do którego jest przekierowywane żądanie.To access the requested URI or any URI that the request is redirected to. Powiązane wartość typu wyliczeniowego: Connect.Associated enumeration: Connect.

Dotyczy

Zobacz też