د Html Agility Pack سره د تحلیل کولو دمخه د پروکسي له لارې HTML راوړل
د پروکسي سره تنظیم شوی HttpClient د Html Agility Pack سره یوځای کړئ او د شبکې تیروتنې د HTML تحلیل څخه جلا وساتئ.
using var handler = new HttpClientHandler
{
UseProxy = true,
Proxy = new WebProxy("http://proxy.example:8080")
};
using var client = new HttpClient(handler);
string html = await client.GetStringAsync(
"https://www.example.com/catalog");
var document = new HtmlAgilityPack.HtmlDocument();
document.LoadHtml(html);دا مدرن .NET ټوټه System.Net او System.Net.Http کاروي. تنظیم شوی کلاینټ د شبکې لارښوونه اداره کوي، او Html Agility Pack بیرته راستانه شوې HTML تار ترلاسه کوي. د هرې پاڼې لپاره د هغې حوضونه بیا جوړولو پرځای د دوامدار کار لپاره په سمه توګه تنظیم شوی کلاینټ وساتئ.
د دې عامه پاڼې مثال لپاره، د HTTP پروکسي لیست څخه یو غیر تصدیق شوی نوماند کولی شي منځګړی بدل کړي. منزل په جلا توګه بدل کړئ. د وېبسایټ URL خپل TLS هویت ساتي. تصدیق شوي پروکسي اعتبارونه WebProxy پورې اړه لري؛ نه د وېبسایټ اعتبارونه او نه غیر فعال شوی تصدیق هغوی بدلوي.
GetStringAsync ناکام HTTP حالتونه د تیروتنې په توګه ګڼي. ناکام ډاونلوډ په خالي HtmlDocument مه بدلوئ. که اپلیکیشن سرلیکونه، د حالت توضیحات یا د تیروتنې بدن ته اړتیا ولري، د ځواب په لور HTTP عملیات وکاروئ او د تحلیل دمخه یې وګورئ.
د تار طریقه د خامو بایټونو د بې شرطه اضافي UTF-8 بدلون څخه مخنیوی کوي. که تاسو په قصدي توګه بایټونه راوړئ، د ځواب او سند د کوډ کولو اړتیاوې ډیکوډ کولو ته انتقال کړئ.
LoadHtml تحلیل شوی سند تولیدوي؛ هغه سکریپټونه نه چلوي، سټایلونه نه باروي او لینکونه نه تعقیبوي. وروستي نسبي لینکونه د ځواب د موقعیت په نسبت حل کړئ، او په یاد ولرئ چې د براوزر لخوا ښودل شوي عناصر ممکن په ډاونلوډ شوي سرچینه کې نه وي. هر ځواب باید خپل سند تولید کړي حتی کله چې غوښتنې ورته تنظیم شوی HTTP کلاینټ شریکوي.