Test dans un environnement réel
Test en production sans filigrane.
Fonctionne partout où vous en avez besoin.
WebClient est une classe puissante en C# conçue pour envoyer et recevoir des données sur le web. Il fait partie de l'espace de noms System.Net du Framework .NET et convient à diverses applications, du simple téléchargement de fichiers à l'envoi de données à un serveur web.
Ce tutoriel explique comment utiliser efficacement la classe WebClient, en se concentrant sur ses fonctionnalités de base et sur la manière de gérer des scénarios courants tels que le téléchargement de fichiers et l'affichage de données. Nous explorerons également lesBibliothèque IronPDF dans le contexte de l'utilisation de WebClient.
Pour commencer à utiliser WebClient, vous devez en créer une instance. Cette instance sert de passerelle pour effectuer des requêtes HTTP.
Voici une manière simple d'instancier un WebClient :
WebClient client = new WebClient();
WebClient client = new WebClient();
Dim client As New WebClient()
Ce nouveau WebClient() est une configuration de base. Elle prépare votre application à interagir avec les serveurs HTTP. En créant cette instance, vous accédez à une série de méthodes offertes par la classe WebClient pour télécharger et téléverser des données.
Avant de commencer à envoyer des requêtes, vous pouvez personnaliser le comportement de votre instance de WebClient. Par exemple, vous pouvez définir un en-tête d'agent utilisateur pour indiquer au serveur le nom du client qui effectue la requête :
// Adding user-agent to the HTTP headers
client.Headers["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64)";
// Adding user-agent to the HTTP headers
client.Headers["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64)";
' Adding user-agent to the HTTP headers
client.Headers("User-Agent") = "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
La définition de l'en-tête user agent est importante car certains serveurs vérifient cet en-tête pour voir si la demande provient d'un navigateur ou d'un appareil reconnu. Cela peut avoir une incidence sur la manière dont les serveurs répondent à vos demandes.
WebClient fournit une méthode simple pour télécharger des fichiers directement d'une URL vers un fichier local. Cette méthode est utile pour les applications qui doivent fonctionner avec des ressources externes, comme le téléchargement de fichiers de configuration ou de mises à jour.
// Download file from the specified URI address
string address = "http://example.com/file.zip";
string localFile = "C:\\Downloads\\file.zip";
try
{
client.DownloadFile(address, localFile);
Console.WriteLine("Download complete.");
}
catch (Exception ex)
{
Console.WriteLine("Download failed: " + ex.Message);
}
// Download file from the specified URI address
string address = "http://example.com/file.zip";
string localFile = "C:\\Downloads\\file.zip";
try
{
client.DownloadFile(address, localFile);
Console.WriteLine("Download complete.");
}
catch (Exception ex)
{
Console.WriteLine("Download failed: " + ex.Message);
}
' Download file from the specified URI address
Dim address As String = "http://example.com/file.zip"
Dim localFile As String = "C:\Downloads\file.zip"
Try
client.DownloadFile(address, localFile)
Console.WriteLine("Download complete.")
Catch ex As Exception
Console.WriteLine("Download failed: " & ex.Message)
End Try
Dans cet exemple, DownloadFile
est utilisé pour récupérer un fichier à partir d'une string address et le sauvegarder en tant que fichier local. Le processus est enveloppé dans un bloc try-catch pour gérer les erreurs potentielles, telles qu'une erreur interne du serveur ou des problèmes de connectivité.
Il peut arriver que vous souhaitiez traiter les données téléchargées directement en mémoire sans les enregistrer sur un disque. Cela peut être fait en utilisant la méthode DownloadData
, qui renvoie un tableau d'octets :
string uriAddress = "http://example.com/data.json";
try
{
byte[] data = client.DownloadData(uriAddress);
string json = System.Text.Encoding.UTF8.GetString(data);
Console.WriteLine("Data received: " + json);
}
catch (Exception ex)
{
Console.WriteLine("Error receiving data: " + ex.Message);
}
string uriAddress = "http://example.com/data.json";
try
{
byte[] data = client.DownloadData(uriAddress);
string json = System.Text.Encoding.UTF8.GetString(data);
Console.WriteLine("Data received: " + json);
}
catch (Exception ex)
{
Console.WriteLine("Error receiving data: " + ex.Message);
}
Dim uriAddress As String = "http://example.com/data.json"
Try
Dim data() As Byte = client.DownloadData(uriAddress)
Dim json As String = System.Text.Encoding.UTF8.GetString(data)
Console.WriteLine("Data received: " & json)
Catch ex As Exception
Console.WriteLine("Error receiving data: " & ex.Message)
End Try
Ici, les données de uriAddress
sont téléchargées dans un tableau d'octets. Il est ensuite converti en chaîne de caractères si les données sont au format JSON. Le traitement des données en mémoire est particulièrement utile lorsqu'il s'agit d'API qui renvoient des données au format JSON.
Le WebClient peut également être utilisé pour envoyer des données à un serveur. Pour ce faire, on utilise généralement la méthode HTTP POST, qui permet d'envoyer des données dans le corps de la requête.
string postAddress = "http://example.com/api/post";
// Prepare string data for POST request
string stringData = "name=John&age=30";
byte[] postData = System.Text.Encoding.ASCII.GetBytes(stringData);
try
{
byte[] response = client.UploadData(postAddress, "POST", postData);
// Log response headers and content
Console.WriteLine("Response received: " + System.Text.Encoding.ASCII.GetString(response));
}
catch (Exception ex)
{
Console.WriteLine("Post failed: " + ex.Message);
}
string postAddress = "http://example.com/api/post";
// Prepare string data for POST request
string stringData = "name=John&age=30";
byte[] postData = System.Text.Encoding.ASCII.GetBytes(stringData);
try
{
byte[] response = client.UploadData(postAddress, "POST", postData);
// Log response headers and content
Console.WriteLine("Response received: " + System.Text.Encoding.ASCII.GetString(response));
}
catch (Exception ex)
{
Console.WriteLine("Post failed: " + ex.Message);
}
Dim postAddress As String = "http://example.com/api/post"
' Prepare string data for POST request
Dim stringData As String = "name=John&age=30"
Dim postData() As Byte = System.Text.Encoding.ASCII.GetBytes(stringData)
Try
Dim response() As Byte = client.UploadData(postAddress, "POST", postData)
' Log response headers and content
Console.WriteLine("Response received: " & System.Text.Encoding.ASCII.GetString(response))
Catch ex As Exception
Console.WriteLine("Post failed: " & ex.Message)
End Try
Cet extrait de code envoie postData
au serveur. Les données sont d'abord encodées dans un tableau d'octets avant d'être envoyées. WebClient gère automatiquement l'en-tête de type de contenu pour les données sous forme de tableau d'octets, mais si vous devez envoyer des données dans un format différent, tel que JSON, vous devrez peut-être définir manuellement l'en-tête de type de contenu.
IronPDF est une bibliothèque .NET qui permet aux développeurs de créer, d'éditer et de gérer facilement des fichiers PDF. Il utilise un moteur de rendu Chrome pour un rendu précisConversion de HTML en PDF. Cette bibliothèque permet de convertir du contenu web, HTML et des images en PDF et comprend des fonctionnalités telles que les signatures numériques et la gestion des formulaires.
Il fonctionne avec différentes versions de .NET et prend en charge plusieurs systèmes d'exploitation, ce qui le rend polyvalent pour différents environnements de développement. IronPDF offre une documentation complète et une assistance solide pour aider les développeurs à intégrer les fonctionnalités PDF en douceur.
Voici un exemple basique d'utilisation d'IronPDF avec C# pour convertir un contenu HTML en PDF en utilisant la classe WebClient
. Cet exemple de code montre comment récupérer du HTML à partir d'une URL et comment utiliser IronPDF pour générer un fichier PDF à partir de ce HTML.
using IronPdf;
using System.Net;
class Program
{
static void Main()
{
License.LicenseKey = "License-Key";
// Create a new WebClient instance to download HTML
using (WebClient client = new WebClient())
{
// Specify the URL of the HTML page
string url = "http://example.com";
string htmlString = client.DownloadString(url);
// Create a new HTML to PDF converter instance
var renderer = new ChromePdfRenderer();
// Convert HTML string to PDF
var pdf = renderer.RenderHtmlAsPdf(htmlString);
// Save the PDF to a file
pdf.SaveAs("output.pdf");
}
}
}
using IronPdf;
using System.Net;
class Program
{
static void Main()
{
License.LicenseKey = "License-Key";
// Create a new WebClient instance to download HTML
using (WebClient client = new WebClient())
{
// Specify the URL of the HTML page
string url = "http://example.com";
string htmlString = client.DownloadString(url);
// Create a new HTML to PDF converter instance
var renderer = new ChromePdfRenderer();
// Convert HTML string to PDF
var pdf = renderer.RenderHtmlAsPdf(htmlString);
// Save the PDF to a file
pdf.SaveAs("output.pdf");
}
}
}
Imports IronPdf
Imports System.Net
Friend Class Program
Shared Sub Main()
License.LicenseKey = "License-Key"
' Create a new WebClient instance to download HTML
Using client As New WebClient()
' Specify the URL of the HTML page
Dim url As String = "http://example.com"
Dim htmlString As String = client.DownloadString(url)
' Create a new HTML to PDF converter instance
Dim renderer = New ChromePdfRenderer()
' Convert HTML string to PDF
Dim pdf = renderer.RenderHtmlAsPdf(htmlString)
' Save the PDF to a file
pdf.SaveAs("output.pdf")
End Using
End Sub
End Class
Veillez à ajouter la bibliothèque IronPDF à votre projet. Vous pouvez généralement le faire via NuGet dans votre environnement de développement, en utilisant une commande comme :
Install-Package IronPdf
Voici le fichier PDF généré :
WebClient est une classe polyvalente du Framework .NET idéale pour diverses opérations de réseau, notamment le téléchargement et le chargement de fichiers. Ce tutoriel explique comment lancer un WebClient, personnaliser ses en-têtes, gérer les téléchargements de données et gérer les erreurs de manière efficace.
Au fur et à mesure que vous vous familiariserez avec WebClient, vous pourrez explorer des fonctionnalités plus avancées et envisager de passer à des solutions plus robustes comme HttpClient pour des scénarios plus complexes. IronPDF permet aux développeurs d'explorer ses fonctionnalités à l'aide d'unoptions de licence et tarifs avec des licences disponibles auprès de $749.
9 produits de l'API .NET pour vos documents de bureau