WebRequest Класс

Определение

Выполняет запрос к URI.Makes a request to a Uniform Resource Identifier (URI). Это класс abstract.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
Наследование
Производный
Атрибуты
Реализации

Примеры

В следующем примере показано, как создать WebRequest экземпляр и вернуть ответ.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

Комментарии

Важно!

Не рекомендуется использовать WebRequest или производные классы для новой разработки.We don't recommend that you use WebRequest or its derived classes for new development. Вместо этого используйте System.Net.Http.HttpClient класс.Instead, use the System.Net.Http.HttpClient class.

WebRequestabstract является базовым классом для. Модель запросов и ответов NET для доступа к данным из Интернета.WebRequest is the abstract base class for .NET's request/response model for accessing data from the Internet. Приложение, использующее модель "запрос-ответ", может запрашивать данные из Интернета независимо от протокола, в котором приложение работает с экземплярами WebRequest класса, в то время как классы-наследники, относящиеся к протоколу, выполняют подробные сведения запрос.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.

Запросы отправляются из приложения на определенный универсальный код ресурса (URI), например веб-страницу на сервере.Requests are sent from an application to a particular URI, such as a Web page on a server. Универсальный код ресурса (URI) определяет нужный класс-потомок для создания WebRequest из списка потомков, зарегистрированных для приложения.The URI determines the proper descendant class to create from a list of WebRequest descendants registered for the application. WebRequestпотомки, как правило, регистрируются для работы с конкретным протоколом, например HTTP или FTP, но могут быть зарегистрированы, чтобы обрабатывать запросы к определенному серверу или пути на сервере.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 Класс вызываетисключениепривозникновенииошибокпридоступекWebException Интернет-ресурсу.The WebRequest class throws a WebException when errors occur while accessing an Internet resource. Свойство является одним WebExceptionStatus из значений, определяющих источник ошибки. StatusThe Status property is one of the WebExceptionStatus values that indicates the source of the error. Если Status имеет WebExceptionStatus.ProtocolErrorзначение, Response свойство содержит объект WebResponse , полученный от Интернет-ресурса.When Status is WebExceptionStatus.ProtocolError, the Response property contains the WebResponse received from the Internet resource.

Поскольку класс является классом WebRequest , фактическое поведение экземпляров во время выполнения определяется классом-наследником, возвращаемым Create методом. 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. Дополнительные сведения о значениях по умолчанию и исключениях см. в документации по классам- HttpWebRequest наследникам, таким как и. FileWebRequestFor more information about default values and exceptions, see the documentation for the descendant classes, such as HttpWebRequest and FileWebRequest.

Примечание

Используйте метод для инициализации новых WebRequest экземпляров. CreateUse the Create method to initialize new WebRequest instances. Не используйте WebRequest конструктор.Do not use the WebRequest constructor.

Примечание

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

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

При наследовании из WebRequestнеобходимо переопределить следующие члены: Method, RequestUri, Headers, Credentials ContentType ContentLength,,, PreAuthenticate, GetRequestStream(), ,BeginGetRequestStream(AsyncCallback, Object) EndGetRequestStream(IAsyncResult) , GetResponse(), BeginGetResponse(AsyncCallback, Object)и .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). Кроме того, необходимо предоставить реализацию IWebRequestCreate интерфейса, который Create(Uri) определяет метод, используемый при вызове 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). Необходимо зарегистрировать класс, реализующий IWebRequestCreate интерфейс, RegisterPrefix(String, IWebRequestCreate) с помощью метода или файла конфигурации.You must register the class that implements the IWebRequestCreate interface, using the RegisterPrefix(String, IWebRequestCreate) method or the configuration file.

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

WebRequest()

Инициализирует новый экземпляр класса WebRequest.Initializes a new instance of the WebRequest class.

WebRequest(SerializationInfo, StreamingContext)

Инициализирует новый экземпляр класса WebRequest на основе указанных экземпляров классов SerializationInfo и StreamingContext.Initializes a new instance of the WebRequest class from the specified instances of the SerializationInfo and StreamingContext classes.

Свойства

AuthenticationLevel

Возвращает или задает значения, указывающие уровень проверки подлинности и олицетворения, используемые для этого запроса.Gets or sets values indicating the level of authentication and impersonation used for this request.

CachePolicy

Возвращает или задает политику кэширования для этого запроса.Gets or sets the cache policy for this request.

ConnectionGroupName

При переопределении во вложенном классе возвращает или задает имя группы подключения для данного запроса.When overridden in a descendant class, gets or sets the name of the connection group for the request.

ContentLength

При переопределении во вложенный класс возвращает или задает длину содержимого запрошенных к передаче данных.When overridden in a descendant class, gets or sets the content length of the request data being sent.

ContentType

При переопределении во вложенном классе возвращает или задает длину содержимого запрошенных к передаче данных.When overridden in a descendant class, gets or sets the content type of the request data being sent.

CreatorInstance

При переопределении в производном классе получает объект фабрики, производный от класса IWebRequestCreate, который служит для создания объекта WebRequest для создания запроса по указанному универсальному коду ресурса (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

При переопределении во вложенном классе возвращает или задает сетевые учетные данные, используемые для проверки подлинности запроса на интернет-ресурсе.When overridden in a descendant class, gets or sets the network credentials used for authenticating the request with the Internet resource.

DefaultCachePolicy

Возвращает или задает политику кэширования для этого запроса.Gets or sets the default cache policy for this request.

DefaultWebProxy

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

Headers

При переопределении во вложенном классе возвращает или задает коллекцию связанных с данным запросом пар "имя-значение" для заголовка.When overridden in a descendant class, gets or sets the collection of header name/value pairs associated with the request.

ImpersonationLevel

Возвращает или задает уровень олицетворения для текущего запроса.Gets or sets the impersonation level for the current request.

Method

При переопределении во вложенном классе возвращает или задает метод протокола для использования в данном запросе.When overridden in a descendant class, gets or sets the protocol method to use in this request.

PreAuthenticate

При переопределении во вложенном классе показывает, необходима ли предварительная проверка подлинности данного запроса.When overridden in a descendant class, indicates whether to pre-authenticate the request.

Proxy

При переопределении во вложенном классе возвращает или задает сетевой прокси-сервер, используемый для доступа к данному интернет-ресурсу.When overridden in a descendant class, gets or sets the network proxy to use to access this Internet resource.

RequestUri

При переопределении во вложенном классе возвращает URI интернет-ресурса, связанного с данным запросом.When overridden in a descendant class, gets the URI of the Internet resource associated with the request.

Timeout

Возвращает или задает промежуток времени в миллисекундах до истечения срока действия вопроса.Gets or sets the length of time, in milliseconds, before the request times out.

UseDefaultCredentials

При переопределении во вложенном классе возвращает или задает значение Boolean, с помощью которого определяется, следует ли отправлять учетные данные DefaultCredentials вместе с запросами.When overridden in a descendant class, gets or sets a Boolean value that controls whether DefaultCredentials are sent with requests.

Методы

Abort()

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

BeginGetRequestStream(AsyncCallback, Object)

При переопределении во вложенном классе предоставляет асинхронную версию метода GetRequestStream().When overridden in a descendant class, provides an asynchronous version of the GetRequestStream() method.

BeginGetResponse(AsyncCallback, Object)

При переопределении во вложенном классе начинает асинхронный запрос интернет-ресурса.When overridden in a descendant class, begins an asynchronous request for an Internet resource.

Create(String)

Инициализирует новый экземпляр WebRequest для заданной схемы URI.Initializes a new WebRequest instance for the specified URI scheme.

Create(Uri)

Инициализирует новый экземпляр WebRequest для заданной схемы URI.Initializes a new WebRequest instance for the specified URI scheme.

CreateDefault(Uri)

Инициализирует новый экземпляр WebRequest для заданной схемы URI.Initializes a new WebRequest instance for the specified URI scheme.

CreateHttp(String)

Инициализирует новый экземпляр HttpWebRequest для заданной строки URI.Initializes a new HttpWebRequest instance for the specified URI string.

CreateHttp(Uri)

Инициализирует новый экземпляр HttpWebRequest для заданного URI.Initializes a new HttpWebRequest instance for the specified URI.

CreateObjRef(Type)

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

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

При переопределении в производном классе возвращает Stream для записи данных в этот интернет-ресурс.When overridden in a descendant class, returns a Stream for writing data to the Internet resource.

EndGetResponse(IAsyncResult)

При переопределении в производном классе возвращает WebResponse.When overridden in a descendant class, returns a WebResponse.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

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

Служит в качестве хэш-функции по умолчанию.Serves as the default hash function.

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

Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

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

Заполняет объект SerializationInfo данными, необходимыми для сериализации целевого объекта.Populates a SerializationInfo with the data needed to serialize the target object.

GetRequestStream()

При переопределении в производном классе возвращает Stream для записи данных в этот интернет-ресурс.When overridden in a descendant class, returns a Stream for writing data to the Internet resource.

GetRequestStreamAsync()

При переопределении во вложенном классе возвращает Stream для записи данных в интернет-ресурс в виде асинхронной операции.When overridden in a descendant class, returns a Stream for writing data to the Internet resource as an asynchronous operation.

GetResponse()

При переопределении во вложенном классе возвращает ответ на интернет-запрос.When overridden in a descendant class, returns a response to an Internet request.

GetResponseAsync()

При переопределении во вложенном классе возвращает ответ на интернет-запрос в виде асинхронной операции.When overridden in a descendant class, returns a response to an Internet request as an asynchronous operation.

GetSystemWebProxy()

Возвращает прокси-сервер с уже установленными параметрами Internet Explorer для текущего олицетворенного пользователя.Returns a proxy configured with the Internet Explorer settings of the currently impersonated user.

GetType()

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

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

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.Obtains a lifetime service object to control the lifetime policy for this instance.

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

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

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

Создает неполную копию текущего объекта MarshalByRefObject.Creates a shallow copy of the current MarshalByRefObject object.

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

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

RegisterPrefix(String, IWebRequestCreate)

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

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

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

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

ISerializable.GetObjectData(SerializationInfo, StreamingContext)

При переопределении во вложенном классе заполняет экземпляр SerializationInfo данными, которые необходимы для сериализации WebRequest.When overridden in a descendant class, populates a SerializationInfo instance with the data needed to serialize the WebRequest.

Безопасность

WebPermission
для доступа к запрошенному URI или любому URI, к которому перенаправляется запрос.To access the requested URI or any URI that the request is redirected to. Связанное перечисление: Connect.Associated enumeration: Connect.

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

Дополнительно