WebClient-Klasse
Stellt allgemeine Methoden zum Senden und Empfangen von Daten von einer mit einem URI gekennzeichneten Ressource bereit.
Namespace: System.Net
Assembly: System (in system.dll)
Syntax
'Declaration
<ComVisibleAttribute(True)> _
Public Class WebClient
Inherits Component
'Usage
Dim instance As WebClient
[ComVisibleAttribute(true)]
public class WebClient : Component
[ComVisibleAttribute(true)]
public ref class WebClient : public Component
/** @attribute ComVisibleAttribute(true) */
public class WebClient extends Component
ComVisibleAttribute(true)
public class WebClient extends Component
Hinweise
Die WebClient-Klasse stellt allgemeine Methoden zum Senden und Empfangen von Daten einer beliebigen lokalen Intranet- oder Internetressource bereit, die mit einem URI gekennzeichnet ist.
Die WebClient-Klasse verwendet die WebRequest-Klasse für den Zugriff auf Ressourcen. WebClient-Instanzen können mit einem beliebigen WebRequest-Nachfahren auf Daten zugreifen, der durch die WebRequest.RegisterPrefix-Methode registriert wird.
Hinweis
URIs, die mit den Schemabezeichnern http:
, https:
, ftp: und file:
beginnen, werden von .NET Framework standardmäßig unterstützt.
In der folgenden Tabelle werden WebClient-Methoden für den Upload von Daten in eine Ressource beschrieben.
Methode |
Beschreibung |
---|---|
Ruft einen Stream für das Senden von Daten an die Ressource ab. |
|
Ruft einen Stream für das Senden von Daten an die Ressource ab, ohne den aufrufenden Thread zu blockieren. |
|
Sendet ein Bytearray an die Ressource und gibt ein Byte-Array mit einer beliebigen Antwort zurück. |
|
Sendet ein Byte-Array an die Ressource, ohne den aufrufenden Thread zu blockieren. |
|
Sendet eine lokale Datei an die Ressource und gibt ein Byte-Array mit einer beliebigen Antwort zurück. |
|
Sendet eine lokale Datei an die Ressource, ohne den aufrufenden Thread zu blockieren. |
|
Sendet eine NameValueCollection an die Ressource und gibt ein Byte-Array mit einer beliebigen Antwort zurück. |
|
Sendet eine NameValueCollection an die Ressource und gibt ein Byte-Array mit einer beliebigen Antwort zurück, ohne den aufrufenden Thread zu blockieren. |
|
Sendet einen String an die Ressource, ohne den aufrufenden Thread zu blockieren. |
|
Sendet einen String an die Ressource, ohne den aufrufenden Thread zu blockieren. |
In der folgenden Tabelle werden WebClient-Methoden für den Download von Daten aus einer Ressource beschrieben.
Methode |
Beschreibung |
---|---|
Gibt die Daten aus einer Ressource als Stream zurück. |
|
Gibt die Daten aus einer Ressource zurück, ohne den aufrufenden Thread zu blockieren. |
|
Führt den Download von Daten aus einer Ressource durch und gibt ein Byte-Array zurück. |
|
Führt den Download von Daten aus einer Ressource durch und gibt ein Byte-Array zurück, ohne den aufrufenden Thread zu blockieren. |
|
Führt den Download von Daten aus einer Ressource in eine lokale Datei durch. |
|
Führt den Download von Daten aus einer Ressource in eine lokale Datei durch, ohne den aufrufenden Thread zu blockieren. |
|
Führt den Download eines String aus einer Ressource durch, und gibt einen String zurück. |
|
Führt den Download eines String aus einer Ressource durch, ohne den aufrufenden Thread zu blockieren. |
Asynchrone Vorgänge, die nicht abgeschlossen wurden, können mit der CancelAsync-Methode abgebrochen werden.
WebClient-Instanzen senden in der Standardeinstellung keine optionalen HTTP-Header. Wenn für die Anforderung ein optionaler Header erforderlich ist, müssen Sie den Header der Headers-Auflistung hinzufügen. Um z. B. Abfragen in der Antwort beizubehalten, müssen Sie einen User-Agent-Header hinzufügen. Außerdem geben Server möglicherweise 500 (Interner Serverfehler) zurück, wenn der Header des Benutzeragents fehlt.
AllowAutoRedirect wird in WebClient-Instanzen auf true festgelegt.
Hinweise für Erben Abgeleitete Klassen müssen die Basisklassenimplementierung von WebClient aufrufen, um sicherzustellen, dass die abgeleitete Klasse wie erwartet funktioniert.
Beispiel
Im folgenden Codebeispiel wird der URI einer Ressource erfasst und abgerufen sowie die Antwort angezeigt.
Imports System
Imports System.Net
Imports System.IO
Public Class Test
Public Shared Sub Main(args() As String)
If args Is Nothing OrElse args.Length = 0 Then
Throw New ApplicationException("Specify the URI of the resource to retrieve.")
End If
Dim client As New WebClient()
' Add a user agent header in case the
' requested URI contains a query.
client.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)")
Dim data As Stream = client.OpenRead(args(0))
Dim reader As New StreamReader(data)
Dim s As String = reader.ReadToEnd()
Console.WriteLine(s)
data.Close()
reader.Close()
End Sub 'Main
End Class 'Test
using System;
using System.Net;
using System.IO;
public class Test
{
public static void Main (string[] args)
{
if (args == null || args.Length == 0)
{
throw new ApplicationException ("Specify the URI of the resource to retrieve.");
}
WebClient client = new WebClient ();
// Add a user agent header in case the
// requested URI contains a query.
client.Headers.Add ("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
Stream data = client.OpenRead (args[0]);
StreamReader reader = new StreamReader (data);
string s = reader.ReadToEnd ();
Console.WriteLine (s);
data.Close ();
reader.Close ();
}
}
#using <System.dll>
using namespace System;
using namespace System::Net;
using namespace System::IO;
int main()
{
array<String^>^args = Environment::GetCommandLineArgs();
if ( args == nullptr || args->Length == 1 )
{
throw gcnew ApplicationException( "Specify the URI of the resource to retrieve." );
}
WebClient^ client = gcnew WebClient;
// Add a user agent header in case the
// requested URI contains a query.
client->Headers->Add( "user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)" );
Stream^ data = client->OpenRead( args[ 1 ] );
StreamReader^ reader = gcnew StreamReader( data );
String^ s = reader->ReadToEnd();
Console::WriteLine( s );
data->Close();
reader->Close();
}
.NET Framework-Sicherheit
- WebPermission für den Zugriff auf den angeforderten URI oder einen URI, zu dem die Anforderung umgeleitet wurde. Zugeordnete Enumeration: Connect
Vererbungshierarchie
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Net.WebClient
Threadsicherheit
Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Plattformen
Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
WebClient-Member
System.Net-Namespace
WebRequest
WebResponse
HttpWebRequest-Klasse
HttpWebResponse-Klasse