WebRequest Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Skickar en begäran till en URI (Uniform Resource Identifier). Det här är en abstract klass.
public ref class WebRequest abstract
public ref class WebRequest abstract : MarshalByRefObject, System::Runtime::Serialization::ISerializable
public abstract class WebRequest
[System.Serializable]
public abstract class WebRequest : MarshalByRefObject, System.Runtime.Serialization.ISerializable
public abstract class WebRequest : MarshalByRefObject, System.Runtime.Serialization.ISerializable
type WebRequest = class
[<System.Serializable>]
type WebRequest = class
inherit MarshalByRefObject
interface ISerializable
type WebRequest = class
inherit MarshalByRefObject
interface ISerializable
Public MustInherit Class WebRequest
Public MustInherit Class WebRequest
Inherits MarshalByRefObject
Implements ISerializable
- Arv
-
WebRequest
- Arv
- Härledda
- Attribut
- Implementeringar
Exempel
I följande exempel visas hur du skapar en WebRequest instans och returnerar svaret.
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
Kommentarer
Caution
WebRequest, HttpWebRequest, ServicePoint, och WebClient är föråldrade och du bör inte använda dem för ny utveckling. Använd HttpClient i stället.
WebRequest är basklassen abstract för .NET begäran/svar-modell för åtkomst till data från Internet. Ett program som använder begäran/svar-modellen kan begära data från Internet på ett protokollagnostiskt sätt, där programmet fungerar med instanser av WebRequest klassen medan protokollspecifika underordnade klasser utför informationen om begäran.
Begäranden skickas från ett program till en viss URI, till exempel en webbsida på en server. URI:n avgör vilken underordnad klass som ska skapas från en lista över WebRequest underordnade som registrerats för programmet. WebRequest underordnade är vanligtvis registrerade för att hantera ett specifikt protokoll, till exempel HTTP eller FTP, men kan registreras för att hantera en begäran till en specifik server eller sökväg på en server.
Klassen WebRequest genererar ett WebException när fel inträffar vid åtkomst till en Internetresurs. Egenskapen Status är ett av de WebExceptionStatus värden som anger källan till felet. När Status är WebExceptionStatus.ProtocolErrorResponse innehåller egenskapen den WebResponse mottagna från Internetresursen.
WebRequest Eftersom klassen är en abstract klass bestäms det faktiska beteendet för WebRequest instanser vid körning av den underordnade klassen som returneras av Create metoden. Mer information om standardvärden och undantag finns i dokumentationen för underordnade klasser, till exempel HttpWebRequest och FileWebRequest.
Note
Create Använd metoden för att initiera nya WebRequest instanser. Använd inte WebRequest konstruktorn.
Note
Om programmet som skapar WebRequest-objektet körs med autentiseringsuppgifterna för en normal användare kommer programmet inte att kunna komma åt certifikat som installerats i det lokala datorarkivet om inte användaren uttryckligen har fått behörighet att göra det.
Anteckningar till implementerare
När du ärver från WebRequestmåste du åsidosätta följande medlemmar: Method, RequestUri, Headers, ContentLength, ContentType, , CredentialsPreAuthenticate, GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object), EndGetRequestStream(IAsyncResult), , GetResponse()och BeginGetResponse(AsyncCallback, Object)EndGetResponse(IAsyncResult). Dessutom måste du ange en implementering av IWebRequestCreate gränssnittet, som definierar den Create(Uri) metod som används när du anropar Create(Uri). Du måste registrera klassen som implementerar IWebRequestCreate gränssnittet med hjälp av RegisterPrefix(String, IWebRequestCreate) metoden eller konfigurationsfilen.
Konstruktorer
| Name | Description |
|---|---|
| WebRequest() |
Initierar en ny instans av WebRequest klassen. |
| WebRequest(SerializationInfo, StreamingContext) |
Initierar en ny instans av WebRequest klassen från de angivna instanserna av SerializationInfo klasserna och StreamingContext . |
Egenskaper
| Name | Description |
|---|---|
| AuthenticationLevel |
Hämtar eller anger värden som anger vilken nivå av autentisering och personifiering som används för den här begäran. |
| CachePolicy |
Hämtar eller anger cacheprincipen för den här begäran. |
| ConnectionGroupName |
När du åsidosättas i en underordnad klass hämtar eller anger du namnet på anslutningsgruppen för begäran. |
| ContentLength |
När du åsidosättas i en underordnad klass hämtar eller anger du innehållslängden för de begärandedata som skickas. |
| ContentType |
När du åsidosättas i en underordnad klass hämtar eller anger du innehållstypen för de begärandedata som skickas. |
| CreatorInstance |
Föråldrad.
När det åsidosättas i en underordnad klass hämtar det fabriksobjekt som härleds från klassen IWebRequestCreate som används för att skapa instansierad WebRequest för att göra begäran till den angivna URI:n. |
| Credentials |
När du åsidosättas i en underordnad klass hämtar eller anger du de nätverksautentiseringsuppgifter som används för att autentisera begäran med Internetresursen. |
| DefaultCachePolicy |
Hämtar eller anger standardprincipen för cache för den här begäran. |
| DefaultWebProxy |
Hämtar eller anger den globala HTTP-proxyn. |
| Headers |
När du åsidosättas i en underordnad klass hämtar eller anger du samlingen med rubriknamn/värdepar som är associerade med begäran. |
| ImpersonationLevel |
Hämtar eller anger personifieringsnivån för den aktuella begäran. |
| Method |
När det åsidosättas i en underordnade klass hämtar eller anger du den protokollmetod som ska användas i den här begäran. |
| PreAuthenticate |
När den åsidosättas i en underordnad klass anger om begäran ska autentiseras i förväg. |
| Proxy |
När du åsidosättas i en underordnad klass hämtar eller ställer du in nätverksproxyn som ska användas för att komma åt den här Internetresursen. |
| RequestUri |
När den åsidosättas i en underordnad klass hämtar URI:n för den Internetresurs som är associerad med begäran. |
| Timeout |
Hämtar eller anger hur lång tid, i millisekunder, innan begäran överskrider tidsgränsen. |
| UseDefaultCredentials |
När det åsidosätts i en underordnad klass hämtar eller anger du ett Boolean värde som styr om DefaultCredentials skickas med begäranden. |
Metoder
| Name | Description |
|---|---|
| Abort() |
Avbryter begäran. |
| BeginGetRequestStream(AsyncCallback, Object) |
När den åsidosättas i en underordnad klass tillhandahåller den en asynkron version av GetRequestStream() metoden. |
| BeginGetResponse(AsyncCallback, Object) |
När du åsidosättas i en underordnad klass börjar en asynkron begäran för en Internetresurs. |
| Create(String) |
Initierar en ny WebRequest instans för det angivna URI-schemat. |
| Create(Uri) |
Initierar en ny WebRequest instans för det angivna URI-schemat. |
| CreateDefault(Uri) |
Initierar en ny WebRequest instans för det angivna URI-schemat. |
| CreateHttp(String) |
Initierar en ny HttpWebRequest instans för den angivna URI-strängen. |
| CreateHttp(Uri) |
Initierar en ny HttpWebRequest instans för den angivna URI:n. |
| CreateObjRef(Type) |
Skapar ett objekt som innehåller all relevant information som krävs för att generera en proxy som används för att kommunicera med ett fjärrobjekt. (Ärvd från MarshalByRefObject) |
| EndGetRequestStream(IAsyncResult) |
När den åsidosättas i en underordnade klass returneras en Stream för att skriva data till Internetresursen. |
| EndGetResponse(IAsyncResult) |
När åsidosättas i en underordnade klass returnerar en WebResponse. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetLifetimeService() |
Hämtar det aktuella livslängdstjänstobjektet som styr livslängdsprincipen för den här instansen. (Ärvd från MarshalByRefObject) |
| GetObjectData(SerializationInfo, StreamingContext) |
Fyller i en SerializationInfo med de data som behövs för att serialisera målobjektet. |
| GetRequestStream() |
När den åsidosättas i en underordnade klass returneras en Stream för att skriva data till Internetresursen. |
| GetRequestStreamAsync() |
När den åsidosättas i en underordnad klass returnerar en Stream för att skriva data till Internetresursen som en asynkron åtgärd. |
| GetResponse() |
När det åsidosättas i en underordnad klass returnerar ett svar på en Internetbegäran. |
| GetResponseAsync() |
När det åsidosättas i en underordnade klass returnerar ett svar på en Internetbegäran som en asynkron åtgärd. |
| GetSystemWebProxy() |
Returnerar en proxy som konfigurerats med inställningarna för Internetalternativ för den personifierade användaren. |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| InitializeLifetimeService() |
Hämtar ett tjänstobjekt för livslängd för att styra livslängdsprincipen för den här instansen. (Ärvd från MarshalByRefObject) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| MemberwiseClone(Boolean) |
Skapar en ytlig kopia av det aktuella MarshalByRefObject objektet. (Ärvd från MarshalByRefObject) |
| RegisterPortableWebRequestCreator(IWebRequestCreate) |
Föråldrad.
Registrera ett IWebRequestCreate objekt. |
| RegisterPrefix(String, IWebRequestCreate) |
Registrerar en WebRequest underordnad för den angivna URI:n. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| ISerializable.GetObjectData(SerializationInfo, StreamingContext) |
När den åsidosättas i en underordnad klass fyller du i en SerializationInfo instans med de data som behövs för att serialisera WebRequest. |