Udostępnij za pośrednictwem


WebRequest Klasa

Definicja

Wysyła żądanie do identyfikatora URI (Uniform Resource Identifier). Jest to klasa 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
Dziedziczenie
WebRequest
Dziedziczenie
Pochodne
Atrybuty
Implementuje

Przykłady

W poniższym przykładzie pokazano, jak utworzyć wystąpienie WebRequest i zwrócić odpowiedź.

#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

Ostrożność

WebRequest, HttpWebRequest, ServicePointi WebClient są przestarzałe i nie należy ich używać do tworzenia nowych aplikacji. Zamiast tego użyj HttpClient.

WebRequest jest klasą bazową abstract dla klasy . Model żądania/odpowiedzi platformy NET na potrzeby uzyskiwania dostępu do danych z Internetu. Aplikacja korzystająca z modelu żądań/odpowiedzi może żądać danych z Internetu w sposób niezależny od protokołu, w którym aplikacja współpracuje z wystąpieniami klasy WebRequest, podczas gdy klasy potomne specyficzne dla protokołu wykonują szczegóły żądania.

Żądania są wysyłane z aplikacji do określonego identyfikatora URI, takiego jak strona sieci Web na serwerze. Identyfikator URI określa właściwą klasę potomną do utworzenia na podstawie listy obiektów podrzędnych WebRequest zarejestrowanych dla aplikacji. WebRequest obiekty podrzędne są zwykle rejestrowane w celu obsługi określonego protokołu, takiego jak HTTP lub FTP, ale można je zarejestrować w celu obsługi żądania do określonego serwera lub ścieżki na serwerze.

Klasa WebRequest zgłasza WebException, gdy występują błędy podczas uzyskiwania dostępu do zasobu internetowego. Właściwość Status jest jedną z wartości WebExceptionStatus, która wskazuje źródło błędu. Gdy Status jest WebExceptionStatus.ProtocolError, właściwość Response zawiera WebResponse odebrane z zasobu internetowego.

Ponieważ klasa WebRequest jest klasą abstract, rzeczywiste zachowanie wystąpień WebRequest w czasie wykonywania jest określane przez klasę potomną zwracaną przez metodę Create. Aby uzyskać więcej informacji na temat wartości domyślnych i wyjątków, zobacz dokumentację klas potomnych, takich jak HttpWebRequest i FileWebRequest.

Nuta

Użyj metody Create, aby zainicjować nowe wystąpienia WebRequest. Nie używaj konstruktora WebRequest.

Nuta

Jeśli aplikacja, która tworzy obiekt WebRequest, jest uruchamiana przy użyciu poświadczeń normalnego użytkownika, aplikacja nie będzie mogła uzyskać dostępu do certyfikatów zainstalowanych w magazynie komputera lokalnego, chyba że uprawnienie zostało jawnie podane użytkownikowi w tym celu.

Uwagi dotyczące implementowania

Po dziedziczeniu z WebRequestnależy zastąpić następujące elementy członkowskie: Method, RequestUri, Headers, ContentLength, ContentType, Credentials, PreAuthenticate, GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object), EndGetRequestStream(IAsyncResult), GetResponse(), BeginGetResponse(AsyncCallback, Object)i EndGetResponse(IAsyncResult). Ponadto należy podać implementację interfejsu IWebRequestCreate, który definiuje metodę Create(Uri) używaną podczas wywoływania Create(Uri). Należy zarejestrować klasę, która implementuje interfejs IWebRequestCreate przy użyciu metody RegisterPrefix(String, IWebRequestCreate) lub pliku konfiguracji.

Konstruktory

WebRequest()
Przestarzałe.

Inicjuje nowe wystąpienie klasy WebRequest.

WebRequest(SerializationInfo, StreamingContext)
Przestarzałe.

Inicjuje nowe wystąpienie klasy WebRequest z określonych wystąpień klas SerializationInfo i StreamingContext.

Właściwości

AuthenticationLevel

Pobiera lub ustawia wartości wskazujące poziom uwierzytelniania i personifikacji używane dla tego żądania.

CachePolicy

Pobiera lub ustawia zasady pamięci podręcznej dla tego żądania.

ConnectionGroupName

Po zastąpieniu w klasie potomnej pobiera lub ustawia nazwę grupy połączeń dla żądania.

ContentLength

Po zastąpieniu w klasie potomnej pobiera lub ustawia długość zawartości wysyłanych danych żądania.

ContentType

Po zastąpieniu w klasie potomnej pobiera lub ustawia typ zawartości wysyłanych danych żądania.

CreatorInstance
Przestarzałe.

Po zastąpieniu w klasie potomnej pobiera obiekt fabryki pochodzący z klasy IWebRequestCreate użytej do utworzenia wystąpienia WebRequest do utworzenia żądania do określonego identyfikatora URI.

Credentials

Po zastąpieniu w klasie potomnej pobiera lub ustawia poświadczenia sieciowe używane do uwierzytelniania żądania za pomocą zasobu internetowego.

DefaultCachePolicy

Pobiera lub ustawia domyślne zasady pamięci podręcznej dla tego żądania.

DefaultWebProxy

Pobiera lub ustawia globalny serwer proxy HTTP.

Headers

Po zastąpieniu w klasie potomnej pobiera lub ustawia kolekcję par nazwa/wartość nagłówka skojarzonych z żądaniem.

ImpersonationLevel

Pobiera lub ustawia poziom personifikacji dla bieżącego żądania.

Method

Po zastąpieniu w klasie potomnej pobiera lub ustawia metodę protokołu, która ma być używana w tym żądaniu.

PreAuthenticate

Po zastąpieniu w klasie potomnej wskazuje, czy wstępnie uwierzytelnić żądanie.

Proxy

Po zastąpieniu klasy potomnej pobiera lub ustawia serwer proxy sieci do użycia w celu uzyskania dostępu do tego zasobu internetowego.

RequestUri

Po zastąpieniu w klasie potomnej pobiera identyfikator URI zasobu internetowego skojarzonego z żądaniem.

Timeout

Pobiera lub ustawia czas (w milisekundach) przed przekroczeniem limitu czasu żądania.

UseDefaultCredentials

Po zastąpieniu klasy potomnej pobiera lub ustawia Boolean wartość, która kontroluje, czy DefaultCredentials są wysyłane z żądaniami.

Metody

Abort()

Przerywa żądanie.

BeginGetRequestStream(AsyncCallback, Object)

Po zastąpieniu w klasie potomnej udostępnia asynchroniczną wersję metody GetRequestStream().

BeginGetResponse(AsyncCallback, Object)

Po zastąpieniu w klasie potomnej rozpoczyna się asynchroniczne żądanie zasobu internetowego.

Create(String)
Przestarzałe.

Inicjuje nowe wystąpienie WebRequest dla określonego schematu identyfikatora URI.

Create(Uri)
Przestarzałe.

Inicjuje nowe wystąpienie WebRequest dla określonego schematu identyfikatora URI.

CreateDefault(Uri)
Przestarzałe.

Inicjuje nowe wystąpienie WebRequest dla określonego schematu identyfikatora URI.

CreateHttp(String)
Przestarzałe.

Inicjuje nowe wystąpienie HttpWebRequest dla określonego ciągu identyfikatora URI.

CreateHttp(Uri)
Przestarzałe.

Inicjuje nowe wystąpienie HttpWebRequest dla określonego identyfikatora URI.

CreateObjRef(Type)

Tworzy obiekt zawierający wszystkie istotne informacje wymagane do wygenerowania serwera proxy używanego do komunikowania się z obiektem zdalnym.

(Odziedziczone po MarshalByRefObject)
EndGetRequestStream(IAsyncResult)

Po zastąpieniu klasy potomnej zwraca Stream do zapisywania danych w zasobie internetowym.

EndGetResponse(IAsyncResult)

Po przesłonięciu w klasie potomnej zwraca WebResponse.

Equals(Object)

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetLifetimeService()
Przestarzałe.

Pobiera bieżący obiekt usługi okresu istnienia, który kontroluje zasady okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)
Przestarzałe.

Wypełnia SerializationInfo danymi potrzebnymi do serializacji obiektu docelowego.

GetRequestStream()

Po zastąpieniu klasy potomnej zwraca Stream do zapisywania danych w zasobie internetowym.

GetRequestStreamAsync()

Po zastąpieniu w klasie potomnej zwraca Stream do zapisywania danych do zasobu internetowego jako operacji asynchronicznej.

GetResponse()

Po zastąpieniu klasy potomnej zwraca odpowiedź na żądanie internetowe.

GetResponseAsync()

Po zastąpieniu w klasie potomnej zwraca odpowiedź na żądanie internetowe jako operację asynchroniczną.

GetSystemWebProxy()

Zwraca serwer proxy skonfigurowany z ustawieniami opcji internetowych aktualnie personifikowanego użytkownika.

GetType()

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
InitializeLifetimeService()
Przestarzałe.

Uzyskuje obiekt usługi okresu istnienia w celu kontrolowania zasad okresu istnienia dla tego wystąpienia.

(Odziedziczone po MarshalByRefObject)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Object.

(Odziedziczone po Object)
MemberwiseClone(Boolean)

Tworzy płytkią kopię bieżącego obiektu MarshalByRefObject.

(Odziedziczone po MarshalByRefObject)
RegisterPortableWebRequestCreator(IWebRequestCreate)
Przestarzałe.

Zarejestruj obiekt IWebRequestCreate.

RegisterPrefix(String, IWebRequestCreate)

Rejestruje element podrzędny WebRequest dla określonego identyfikatora URI.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

ISerializable.GetObjectData(SerializationInfo, StreamingContext)
Przestarzałe.

Po przesłonięciu w klasie potomnej program wypełnia wystąpienie SerializationInfo danymi wymaganymi do serializacji WebRequest.

Dotyczy

Zobacz też