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
, HttpWebRequest
, ServicePoint
и WebClient
устарели, и их не следует использовать для новой разработки. Вместо этого используйте HttpClient.
WebRequest — базовый класс abstract
. Модель запроса и ответа NET для доступа к данным из Интернета. Приложение, использующее модель запроса и ответа, может запрашивать данные из Интернета в не зависящем от протокола способе, в котором приложение работает с экземплярами класса WebRequest в то время как классы-потомки, относящиеся к протоколу, выполняют сведения о запросе.
Запросы отправляются из приложения в определенный универсальный код ресурса (URI), например веб-страницу на сервере. Универсальный код ресурса (URI) определяет соответствующий класс-потомок для создания из списка WebRequest потомков, зарегистрированных для приложения. WebRequest потомки обычно регистрируются для обработки определенного протокола, например HTTP или FTP, но могут быть зарегистрированы для обработки запроса к конкретному серверу или пути на сервере.
Класс WebRequest создает WebException при возникновении ошибок при доступе к интернет-ресурсу. Свойство Status является одним из значений WebExceptionStatus, указывающих источник ошибки. Если StatusWebExceptionStatus.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() |
Возвращает прокси-сервер, настроенный с параметрами параметров Интернета для текущего олицетворенного пользователя. |
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. |