C#:
ส่งคำขอ HTTP

วิธีการ:

C# ทำให้การส่งคำขอ HTTP เป็นเรื่องง่ายด้วย HttpClient นี่คือโครงสร้างของคำขอ GET:

using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using HttpClient client = new HttpClient();
        HttpResponseMessage response = await client.GetAsync("http://example.com");
        response.EnsureSuccessStatusCode();
        string responseBody = await response.Content.ReadAsStringAsync();
        
        Console.WriteLine(responseBody);
    }
}

ตัวอย่างผลลัพธ์ (ตัดทอน):

<!doctype html>
<html>
<head>
    <title>Example Domain</title>
...

ลงลึก

HttpClient ถูกนำมาใช้ใน .NET Framework 4.5 เพื่อทำให้การสื่อสาร HTTP เป็นเรื่องง่ายยิ่งขึ้น ก่อนหน้านั้น คุณอาจต้องรับมือกับคลาส HttpWebRequest และ HttpWebResponse ซึ่งมีความยุ่งยากมากขึ้น

มีวิธีอื่นๆ ในการส่งคำขอ HTTP ใน C# RestSharp และ Flurl เป็นสองไลบรารีของบุคคลที่สามที่ได้รับความนิยม เสนออินเตอร์เฟซที่ใช้งานง่ายขึ้นและคุณสมบัติเพิ่มเติม แต่ HttpClient มักจะเพียงพอสำหรับความต้องการส่วนใหญ่

ในเรื่องการใช้งาน, HttpClient ถูกออกแบบมาให้สามารถใช้ซ้ำได้สำหรับหลายๆ คำขอ การสร้างอินสแตนซ์ใหม่สำหรับทุกคำขอสามารถทำให้จำนวนซ็อกเก็ตที่ใช้งานได้หมดลงภายใต้ภาระที่หนักหน่วง ต้องระมัดระวังเสมอ และฉันหมายความว่าเสมอ ในการดูแลการทิ้งอินสแตนซ์ของ HttpClient เพื่อหลีกเลี่ยงการรั่วไหลของทรัพยากร

ดูเพิ่มเติม