WebRequest Класс

Определение

Выполняет запрос к универсальному коду ресурса (URI). Это класс 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
Наследование
WebRequest
Наследование
Производный
Атрибуты
Реализации

Примеры

В следующем примере показано, как создать WebRequest экземпляр и вернуть ответ.

#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

Комментарии

Важно!

Не используйте WebRequest производные от него классы для новой разработки. Вместо этого используйте System.Net.Http.HttpClient класс .

WebRequest — это базовый abstract класс для . Модель запроса и ответа NET для доступа к данным из Интернета. Приложение, использующее модель запроса и ответа, может запрашивать данные из Интернета не зависящим от протокола способом, при котором приложение работает с экземплярами WebRequest класса , в то время как классы-потомки протокола выполняют подробные сведения о запросе.

Запросы отправляются из приложения в определенный универсальный код ресурса (URI), например веб-страницу на сервере. Универсальный код ресурса (URI) определяет соответствующий класс-потомок для создания из списка потомков, зарегистрированных WebRequest для приложения. WebRequest Потомки обычно регистрируются для обработки определенного протокола, например HTTP или FTP, но могут быть зарегистрированы для обработки запроса к определенному серверу или пути на сервере.

Класс WebRequest вызывает исключение при WebException возникновении ошибок при доступе к интернет-ресурсу. Свойство Status является одним из значений WebExceptionStatus , указывающих источник ошибки. Если Status имеет значение WebExceptionStatus.ProtocolError, Response свойство содержит объект , WebResponse полученный из ресурса Интернета.

WebRequest Так как класс является классомabstract, фактическое поведение WebRequest экземпляров во время выполнения определяется классом-потомком, возвращаемым методом Create . Дополнительные сведения о значениях и исключениях по умолчанию см. в документации по классам потомков, таких как HttpWebRequest и FileWebRequest.

Примечание

Используйте метод для инициализации Create новых WebRequest экземпляров. Не используйте WebRequest конструктор .

Примечание

Если приложение, создающее объект WebRequest, выполняется с учетными данными обычного пользователя, оно не сможет получить доступ к сертификатам, установленным в хранилище локального компьютера, если пользователю не предоставлено явное разрешение на это.

Примечания для тех, кто реализует этот метод

При наследовании от WebRequestнеобходимо переопределить следующие элементы: Method, RequestUri, Headers, ContentLength, ContentType, Credentials, PreAuthenticate, GetRequestStream(), , BeginGetRequestStream(AsyncCallback, Object), EndGetRequestStream(IAsyncResult), GetResponse(), BeginGetResponse(AsyncCallback, Object)и EndGetResponse(IAsyncResult). Кроме того, необходимо предоставить реализацию IWebRequestCreate интерфейса , который определяет метод, используемый Create(Uri) при вызове Create(Uri). Необходимо зарегистрировать класс, реализующий IWebRequestCreate интерфейс, с помощью RegisterPrefix(String, IWebRequestCreate) метода или файла конфигурации.

Конструкторы

WebRequest()
Устаревшие..

Инициализирует новый экземпляр класса WebRequest.

WebRequest(SerializationInfo, StreamingContext)
Устаревшие..

Инициализирует новый экземпляр класса WebRequest на основе указанных экземпляров классов SerializationInfo и StreamingContext.

Свойства

AuthenticationLevel

Возвращает или задает значения, указывающие уровень проверки подлинности и олицетворения, используемые для этого запроса.

CachePolicy

Возвращает или задает политику кэширования для этого запроса.

ConnectionGroupName

Если переопределено во вложенном классе, возвращает или задает имя группы подключения для данного запроса.

ContentLength

При переопределении во вложенный класс возвращает или задает длину содержимого запрошенных к передаче данных.

ContentType

Если переопределено во вложенном классе, возвращает или задает длину содержимого запрошенных к передаче данных.

CreatorInstance
Устаревшие..

Если переопределено в производном классе, получает объект фабрики, производный от класса IWebRequestCreate, который служит для создания объекта WebRequest для создания запроса по указанному универсальному коду ресурса (URI).

Credentials

При переопределении во вложенном классе возвращает или задает сетевые учетные данные, используемые для проверки подлинности запроса на интернет-ресурсе.

DefaultCachePolicy

Возвращает или задает политику кэширования для этого запроса.

DefaultWebProxy

Возвращает или устанавливает глобальный прокси-сервер HTTP.

Headers

При переопределении во вложенном классе возвращает или задает коллекцию связанных с данным запросом пар "имя — значение" для заголовка.

ImpersonationLevel

Возвращает или задает уровень олицетворения для текущего запроса.

Method

Если переопределено во вложенном классе, возвращает или задает метод протокола для использования в данном запросе.

PreAuthenticate

При переопределении во вложенном классе показывает, необходима ли предварительная проверка подлинности данного запроса.

Proxy

Если переопределено во вложенном классе, возвращает или задает сетевой прокси-сервер, используемый для доступа к данному интернет-ресурсу.

RequestUri

При переопределении во вложенном классе возвращает URI интернет-ресурса, связанного с данным запросом.

Timeout

Возвращает или задает промежуток времени в миллисекундах до истечения срока действия запроса.

UseDefaultCredentials

Если переопределено во вложенном классе, возвращает или задает значение Boolean, с помощью которого определяется, следует ли отправлять учетные данные DefaultCredentials вместе с запросами.

Методы

Abort()

Отменяет запрос.

BeginGetRequestStream(AsyncCallback, Object)

Если переопределено во вложенном классе, предоставляет асинхронную версию метода GetRequestStream().

BeginGetResponse(AsyncCallback, Object)

Если переопределено во вложенном классе, начинает асинхронный запрос интернет-ресурса.

Create(String)
Устаревшие..

Инициализирует новый экземпляр WebRequest для заданной схемы URI.

Create(Uri)
Устаревшие..

Инициализирует новый экземпляр WebRequest для заданной схемы URI.

CreateDefault(Uri)
Устаревшие..

Инициализирует новый экземпляр WebRequest для заданной схемы URI.

CreateHttp(String)
Устаревшие..

Инициализирует новый экземпляр HttpWebRequest для заданной строки URI.

CreateHttp(Uri)
Устаревшие..

Инициализирует новый экземпляр HttpWebRequest для заданного URI.

CreateObjRef(Type)

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.

(Унаследовано от MarshalByRefObject)
EndGetRequestStream(IAsyncResult)

Если переопределено в производном классе, возвращает Stream для записи данных в этот интернет-ресурс.

EndGetResponse(IAsyncResult)

Если переопределено в производном классе, возвращает WebResponse.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetLifetimeService()
Устаревшие..

Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра.

(Унаследовано от MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)
Устаревшие..

Заполняет объект SerializationInfo данными, необходимыми для сериализации целевого объекта.

GetRequestStream()

Если переопределено в производном классе, возвращает Stream для записи данных в этот интернет-ресурс.

GetRequestStreamAsync()

Если переопределено во вложенном классе, возвращает Stream для записи данных в интернет-ресурс в ходе асинхронной операции.

GetResponse()

При переопределении во вложенном классе возвращает ответ на интернет-запрос.

GetResponseAsync()

При переопределении во вложенном классе возвращает ответ на интернет-запрос в виде асинхронной операции.

GetSystemWebProxy()

Возвращает прокси-сервер с уже установленными параметрами Internet Explorer для текущего олицетворенного пользователя.

GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
InitializeLifetimeService()
Устаревшие..

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
MemberwiseClone(Boolean)

Создает неполную копию текущего объекта MarshalByRefObject.

(Унаследовано от MarshalByRefObject)
RegisterPortableWebRequestCreator(IWebRequestCreate)
Устаревшие..

Регистрация объекта IWebRequestCreate.

RegisterPrefix(String, IWebRequestCreate)

Регистрирует потомок WebRequest для заданной схемы URI.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

ISerializable.GetObjectData(SerializationInfo, StreamingContext)
Устаревшие..

Если переопределено во вложенном классе, заполняет экземпляр SerializationInfo данными, которые необходимы для сериализации WebRequest.

Применяется к

См. также раздел