WebRequest Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
, ServicePoint
i 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. |