C#:
Inviare una richiesta http
How to: (Come fare:)
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
using var client = new HttpClient();
// GET request
HttpResponseMessage response = await client.GetAsync("http://example.com/api/data");
if (response.IsSuccessStatusCode)
{
string data = await response.Content.ReadAsStringAsync();
Console.WriteLine(data);
}
// POST request
var values = new Dictionary<string, string>
{
{ "key1", "value1" },
{ "key2", "value2" }
};
HttpContent content = new FormUrlEncodedContent(values);
response = await client.PostAsync("http://example.com/api/post", content);
string responseString = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseString);
}
}
Output di esempio:
{"id": 1, "name": "Mario Rossi"}
{"result": "success"}
Deep Dive (Approfondimento)
Inviare richieste HTTP è fondamentale da quando il web si è evoluto da semplici siti statici a applicazioni complesse. Il HttpClient
in C# è la risorsa dal .NET Framework 4.5. Alternativamente, si usavano WebRequest
e WebClient
, ma HttpClient
supera per flessibilità e performance. Async-Await
è essenziale per non bloccare l’UI durante le richieste. Devi gestire le eccezioni e assicurarti di disporre di connessioni sicure in HTTPS
.