พร็อกซี SOCKS ใน .NET HttpClient: สคีมา URI ที่รองรับ
ใช้สคีมา URI ของพร็อกซี SOCKS ที่เป็นเอกสารของตัวจัดการ .NET HTTP ที่เข้ากันได้ แทนการสมมติว่าสูตรจากบุคคลที่สามแบบเก่ายังจำเป็นอยู่
คำตอบเก่าแนะนำตัวจัดการ SOCKS เพิ่มเติมเพราะมุ่งเป้าไปที่สแตกเครือข่าย .NET ที่เก่ากว่า สแตก .NET HTTP สมัยใหม่ที่รองรับสามารถใช้สคีมา URI ของพร็อกซี SOCKS ที่เป็นเอกสารได้
var handler = new HttpClientHandler
{
Proxy = new WebProxy("socks5://203.0.113.10:1080"),
UseProxy = true
};
using var client = new HttpClient(handler);ปลายทางเป็นเพียงตัวอย่าง รายการพร็อกซี SOCKS5 มีผู้สมัครสาธารณะสำหรับ URI socks5 ของ WebProxy นี้ ใช้เวอร์ชันที่ตัวจัดการจริงรองรับ ตรวจสอบกรอบเป้าหมาย รันไทม์ แพลตฟอร์ม และตัวจัดการจริงที่แอปพลิเคชันใช้ ก่อนนำตัวอย่างนี้ไปใช้กับกระบวนการ .NET Framework ที่เก่ากว่า
เอกสารพร็อกซีปัจจุบันของ Microsoft ระบุ socks4, socks4a และ socks5 ชื่อเหล่านี้อธิบายพฤติกรรมของโปรโตคอล หมายเลขพอร์ตเพียงอย่างเดียวไม่ได้เลือกเวอร์ชัน SOCKS และการสะกด socks5h ของ curl ไม่ใช่สคีมา URI สากลที่ไคลเอนต์ทุกตัวยอมรับ
สำหรับบริการ SOCKS5 ที่มีการพิสูจน์ตัวตน ให้กำหนดค่าข้อมูลรับรองตามอินเทอร์เฟซที่ตัวจัดการรองรับ SOCKS4 และ SOCKS4a ไม่ได้ให้กลไกพิสูจน์ตัวตนด้วยรหัสผ่านแบบเดียวกัน
URL ปลายทางยังคงไม่เปลี่ยนแปลง คำขอ HTTPS ยังคงสร้างและตรวจสอบ TLS ของปลายทางผ่านเส้นทางพร็อกซี การเพิ่ม SOCKS ไม่ใช่เหตุผลในการปิดการตรวจสอบนั้น