WebRequest Osztály

Definíció

Kérést intéz egy egységes erőforrás-azonosítóhoz (URI). Ez egy abstract osztály.

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
Öröklődés
WebRequest
Öröklődés
Származtatott
Attribútumok
Megvalósítás

Példák

Az alábbi példa bemutatja, hogyan hozhat létre példányt WebRequest , és hogyan adja vissza a választ.

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

Megjegyzések

Figyelmeztetés

WebRequest, HttpWebRequest, ServicePointés WebClient elavultak, és nem szabad új fejlesztésre használni őket. A HttpClient használható helyette.

WebRequest abstract alaposztálya .NET kérési/válaszmodelljének az internetről való elérésére. A kérelem-/válaszmodellt használó alkalmazások protokollfüggő módon kérhetnek adatokat az internetről, amelyben az alkalmazás az osztály példányaival WebRequest dolgozik, míg a protokollspecifikus leszármazott osztályok végzik a kérés részleteit.

A kérelmeket egy alkalmazás küldi el egy adott URI-nak, például egy kiszolgálón található weblapnak. Az URI meghatározza a megfelelő leszármazottosztályt, amely az alkalmazáshoz regisztrált leszármazottak listájából WebRequest hozható létre. WebRequest a leszármazottak általában egy adott protokoll( például HTTP vagy FTP) kezelésére vannak regisztrálva, de regisztrálhatók egy adott kiszolgálóra vagy elérési útra irányuló kérések kezeléséhez a kiszolgálón.

Az WebRequest osztály hibát jelez WebException , amikor egy internetes erőforrás elérése közben hibák lépnek fel. A Status tulajdonság a WebExceptionStatus hiba forrását jelző értékek egyike. Ha Status igen WebExceptionStatus.ProtocolError, a Response tulajdonság az WebResponse internetes erőforrástól kapott elemet tartalmazza.

Mivel az WebRequest osztály egy abstract osztály, a példányok futási időben való tényleges viselkedését WebRequest a metódus által Create visszaadott leszármazott osztály határozza meg. Az alapértelmezett értékekkel és kivételekkel kapcsolatos további információkért tekintse meg a leszármazott osztályok dokumentációját, például HttpWebRequest és FileWebRequest.

Note

Ezzel a Create módszerrel inicializálhat új WebRequest példányokat. Ne használja a konstruktort WebRequest .

Note

Ha a WebRequest objektumot létrehozó alkalmazás normál felhasználó hitelesítő adataival fut, az alkalmazás csak akkor férhet hozzá a helyi géptárolóban telepített tanúsítványokhoz, ha erre kifejezetten engedélyt kapott a felhasználó.

Megjegyzések az implementálókhoz

Ha örököl, WebRequestfelül kell bírálnia a következő tagokat: Method, , RequestUri, HeadersContentLength, ContentType, Credentials, PreAuthenticate, GetRequestStream(), BeginGetRequestStream(AsyncCallback, Object)EndGetRequestStream(IAsyncResult)GetResponse(), , BeginGetResponse(AsyncCallback, Object)és .EndGetResponse(IAsyncResult) Emellett meg kell adnia a IWebRequestCreate felület implementációját, amely meghatározza a Create(Uri) híváskor Create(Uri)használt metódust. Regisztrálnia kell a felületet megvalósító IWebRequestCreate osztályt a metódus vagy a RegisterPrefix(String, IWebRequestCreate) konfigurációs fájl használatával.

Konstruktorok

Name Description
WebRequest()
Elavult.

Inicializálja a WebRequest osztály új példányát.

WebRequest(SerializationInfo, StreamingContext)
Elavult.

Inicializálja az WebRequest osztály új példányát az és SerializationInfo az StreamingContext osztályok megadott példányaiból.

Tulajdonságok

Name Description
AuthenticationLevel

Lekéri vagy beállítja a kéréshez használt hitelesítési és megszemélyesítési szintet jelző értékeket.

CachePolicy

Lekéri vagy beállítja a kérés gyorsítótárszabályzatát.

ConnectionGroupName

Ha egy leszármazott osztályban felül van bírálva, lekéri vagy beállítja a kérés kapcsolatcsoportjának nevét.

ContentLength

Ha egy leszármazott osztályban felül van bírálva, lekéri vagy beállítja az elküldött kérelemadatok tartalomhosszát.

ContentType

Ha egy leszármazott osztályban felül van bírálva, lekéri vagy beállítja az elküldött kérelemadatok tartalomtípusát.

CreatorInstance
Elavult.

Ha felül van bírálva egy leszármazott osztályban, lekéri a példányosított példány létrehozásához IWebRequestCreate használt osztályból WebRequest származó gyári objektumot a megadott URI-nak való kéréshez.

Credentials

Ha egy leszármazott osztályban felül van bírálva, lekéri vagy beállítja a kérés internetes erőforrással való hitelesítéséhez használt hálózati hitelesítő adatokat.

DefaultCachePolicy

Lekéri vagy beállítja a kérés alapértelmezett gyorsítótárszabályzatát.

DefaultWebProxy

Lekéri vagy beállítja a globális HTTP-proxyt.

Headers

Ha egy leszármazott osztályban felül van bírálva, lekéri vagy beállítja a kérelemhez társított fejlécnév-/értékpárok gyűjteményét.

ImpersonationLevel

Lekéri vagy beállítja az aktuális kérés megszemélyesítési szintjét.

Method

Ha egy leszármazott osztályban felül van bírálva, lekéri vagy beállítja a kérelemben használni kívánt protokollmetódust.

PreAuthenticate

Ha egy leszármazott osztályban felül van bírálva, azt jelzi, hogy a kérést előre hitelesíteni kell-e.

Proxy

Ha egy leszármazott osztályban felül van bírálva, lekéri vagy beállítja a hálózati proxyt, hogy hozzáférjen ehhez az internetes erőforráshoz.

RequestUri

Ha egy leszármazott osztályban felül van bírálva, lekéri a kérelemhez társított internetes erőforrás URI-ját.

Timeout

Ezredmásodpercben lekéri vagy beállítja az időtartamot, mielőtt a kérés túllépi az időkorlátot.

UseDefaultCredentials

Ha egy leszármazott osztályban felül van bírálva, lekéri vagy beállít egy Boolean értéket, amely meghatározza, hogy a rendszer kérésekkel küldi-e DefaultCredentials el őket.

Metódusok

Name Description
Abort()

Megszakítja a kérést.

BeginGetRequestStream(AsyncCallback, Object)

Ha egy leszármazott osztályban felülbírált, a metódus aszinkron verzióját GetRequestStream() adja meg.

BeginGetResponse(AsyncCallback, Object)

Ha felülbírált egy leszármazott osztályban, elindít egy aszinkron kérést egy internetes erőforráshoz.

Create(String)
Elavult.

Inicializál egy új WebRequest példányt a megadott URI-sémához.

Create(Uri)
Elavult.

Inicializál egy új WebRequest példányt a megadott URI-sémához.

CreateDefault(Uri)
Elavult.

Inicializál egy új WebRequest példányt a megadott URI-sémához.

CreateHttp(String)
Elavult.

Inicializál egy új HttpWebRequest példányt a megadott URI-sztringhez.

CreateHttp(Uri)
Elavult.

Inicializál egy új HttpWebRequest példányt a megadott URI-hoz.

CreateObjRef(Type)

Létrehoz egy objektumot, amely tartalmazza a távoli objektumokkal való kommunikációhoz használt proxy létrehozásához szükséges összes releváns információt.

(Öröklődés forrása MarshalByRefObject)
EndGetRequestStream(IAsyncResult)

Ha egy leszármazott osztályban felül van bírálva, egy értéket ad vissza Stream az adatok internetes erőforrásba való írásához.

EndGetResponse(IAsyncResult)

Ha felül van bírálva egy leszármazott osztályban, egy WebResponse.

Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetLifetimeService()
Elavult.

Lekéri a példány élettartamszabályzatát vezérlő aktuális élettartam-szolgáltatásobjektumot.

(Öröklődés forrása MarshalByRefObject)
GetObjectData(SerializationInfo, StreamingContext)
Elavult.

Feltölti a SerializationInfo célobjektum szerializálásához szükséges adatokat.

GetRequestStream()

Ha egy leszármazott osztályban felül van bírálva, egy értéket ad vissza Stream az adatok internetes erőforrásba való írásához.

GetRequestStreamAsync()

Ha egy leszármazott osztályban felülbírált, a rendszer aszinkron Stream műveletként aszinkron műveletként ad vissza adatokat az internetes erőforrásba.

GetResponse()

Ha egy leszármazott osztályban felül van bírálva, egy internetes kérésre adott választ ad vissza.

GetResponseAsync()

Ha egy leszármazott osztályban felülbírált, egy internetes kérésre adott választ aszinkron műveletként ad vissza.

GetSystemWebProxy()

Az aktuálisan megszemélyesített felhasználó internetes beállításaival konfigurált proxyt ad vissza.

GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
InitializeLifetimeService()
Elavult.

Beolvas egy élettartam-szolgáltatásobjektumot a példány élettartam-szabályzatának szabályozásához.

(Öröklődés forrása MarshalByRefObject)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
MemberwiseClone(Boolean)

Az aktuális MarshalByRefObject objektum sekély másolatát hozza létre.

(Öröklődés forrása MarshalByRefObject)
RegisterPortableWebRequestCreator(IWebRequestCreate)
Elavult.

Objektum regisztrálása IWebRequestCreate .

RegisterPrefix(String, IWebRequestCreate)

Regisztrál egy leszármazottat WebRequest a megadott URI-hoz.

ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

Explicit interfész-implementációk

Name Description
ISerializable.GetObjectData(SerializationInfo, StreamingContext)
Elavult.

Ha felül van bírálva egy leszármazott osztályban, feltölt egy példányt SerializationInfo a szerializáláshoz WebRequestszükséges adatokkal.

A következőre érvényes:

Lásd még