Samun HTML ta hanyar wakili kafin yin nazari da Html Agility Pack
Haɗa HttpClient da aka saita da wakili tare da Html Agility Pack, tare da raba kurakuran cibiyar sadarwa daga nazarin 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);Wannan ɗan guntun .NET na zamani yana amfani da System.Net da System.Net.Http. Abokin ciniki da aka saita shi ke kula da hanyar sadarwa, kuma Html Agility Pack yana karɓar igiyar HTML da aka mayar. Riƙe abokin ciniki da aka saita yadda ya kamata don aiki mai gudana maimakon sake gina wuraren ajiyarsa ga kowane shafi.
Ga wannan misalin shafin jama'a, ɗan takara marar tabbaci daga jerin wakilan HTTP zai iya maye gurbin matsakanci. Maye gurbin manufa daban. Adireshin gidan yanar gizon yana riƙe da asalin TLS ɗinsa. Tabbatar da bayanan shiga na wakili suna kan WebProxy; bayanan shiga gidan yanar gizon ko tabbacin da aka kashe ba sa maye gurbinsu.
GetStringAsync yana ɗaukar matsayin HTTP da ba nasara ba a matsayin kurakurai. Kada ka mai da saukar da ta kasa zuwa HtmlDocument mara komai. Idan aikace-aikacen yana buƙatar kawuna, cikakken bayanin matsayi ko jikin kuskure, yi amfani da aikin HTTP mai daidaita amsa kuma duba shi kafin nazari.
Hanyar igiya tana guje wa ƙarin juya UTF-8 mara sharadi na baytai ɗanye. Idan kana ɗaukar baytai da gangan, ka kai bukatun tsarin amsa da takardar zuwa ga warwarewar bayanai.
LoadHtml yana samar da takarda da aka yi nazari; ba ya aiwatar da rubutu, ba ya loda salo kuma ba ya bin hanyoyin haɗi. Warware hanyoyin haɗi na dangi na gaba dangane da wurin amsa, kuma ka tuna cewa abubuwan da burauza ke nunawa na iya kasancewa ba su cikin tushen da aka sauke. Kowane amsa ya kamata ya samar da nata takarda ko da buƙatun suna raba abokin ciniki ɗaya na HTTP da aka saita.