การตั้งค่าพร็อกซีของ AngleSharp.Io ด้วย HttpClientRequester
แนบ HttpClientRequester ที่รู้จักพร็อกซีหนึ่งตัวก่อนเปิดใช้งานตัวโหลดเริ่มต้น
ตัวโหลดของ AngleSharp มอบหมายการดาวน์โหลดให้ผู้ร้องขอที่ลงทะเบียนไว้ กับ AngleSharp.Io ให้แนบ HttpClientRequester ที่รู้จักพร็อกซีอย่างชัดเจน:
using AngleSharp;
using AngleSharp.Io.Network;
var handler = new System.Net.Http.HttpClientHandler
{
UseProxy = true,
Proxy = new System.Net.WebProxy(
"http://proxy.example.net:8080")
};
var http = new System.Net.Http.HttpClient(handler);
http.DefaultRequestHeaders.UserAgent.ParseAdd("ExampleReader/1.0");
var configuration = Configuration.Default
.With(new HttpClientRequester(http))
.WithDefaultLoader();
var context = BrowsingContext.New(configuration);ใช้บริบทนี้สำหรับการนำทาง OpenAsync ที่ตั้งใจไว้ ปลายทางจากรายการพร็อกซี HTTPสามารถให้ที่อยู่ WebProxy สำหรับการดาวน์โหลดเว็บสาธารณะได้ คงไคลเอนต์ HTTP พื้นฐานไว้สำหรับงานนั้นแล้วปล่อยทรัพยากรที่ถือครองในภายหลัง
WithRequesters เป็นทางเลือกที่ลงทะเบียนผู้ร้องขอที่ใช้ได้จาก AngleSharp.Io อย่ารวมกับผู้ร้องขอ HTTP หลายตัวที่กำหนดค่าด้วยมือ เว้นแต่การเลือกนั้นเป็นเจตนา พร็อกซีที่กำหนดค่าไว้บนผู้ร้องขอหนึ่งจะไม่กำหนดค่าการใช้งานอื่นที่ถูกเลือกสำหรับคำขอ
ส่วนหัวเริ่มต้นที่กำหนดเองบน http เป็นของคำขอปลายทาง ค่าส่วนหัวที่อธิบายเนื้อหาคำขอ รวมถึง Content-Type ควรตรงกับคำขอนั้น แทนที่จะถูกบังคับใช้ทั่วโลกกับการดาวน์โหลดทุกครั้ง
ลงทะเบียนผู้ร้องขอก่อน WithDefaultLoader เพื่อให้ตัวโหลดใช้บริการ HTTP ที่ตั้งใจไว้แทนการเพิ่มค่าเริ่มต้นของตัวเองเมื่อไม่มี