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), BeginGetResponse(AsyncCallback, Object)GetResponse(), и 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. |
Применяется к
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по