HTML iwwer e Proxy sichen, ier dir et mat Html Agility Pack parst
Kombinéiert en HttpClient deen iwwer e Proxy konfiguréiert ass mat Html Agility Pack, an haalt Netzwierkfeeler getrennt vum HTML-Parsing.
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);Dësen moderne .NET-Fragment benotzt System.Net an System.Net.Http. Den konfiguréierte Client geréiert d'Netzwierkrouting, an Html Agility Pack kritt den zréckginnene HTML-String. Halt en uerdentlech konfiguréierte Client fir d'laangfristeg Aarbecht, amplaz seng Pools fir all Säit nei opzebauen.
Fir dëst Beispill vun enger ëffentlecher Säit kann en net authentifizéierte Kandidat aus der HTTP-Proxy-Lëscht den Zwëschenhändler ersetzen. Ersetzt d'Zil separat. D'URL vun der Websäit behält seng TLS-Identitéit. Authentifizéiert Proxy-Identitéitsdaten gehéieren op WebProxy; weder d'Websäit-Identitéitsdaten nach eng deaktivéiert Iwwerpréifung ersetzen se.
GetStringAsync behandelt HTTP-Status ohne Erfolleg als Feeler. Verwandelt en feelgeschloenen Download net an en eidelen HtmlDocument. Wann d'Applikatioun Header, Statusdetailer oder e Feelerkierper brauch, benotzt eng responsorientéiert HTTP-Operatioun a kontrolléiert se virum Parsen.
D'Stringmethod vermeit eng bedingungslos zousätzlech UTF-8-Konversioun vu raue Bytes. Wann dir bewosst Bytes sicht, da bréngt d'Ufuerderunge fir d'Kodéierung vun der Äntwert an dem Dokument an d'Decodéierung.
LoadHtml produzéiert en geparsten Dokument; et féiert keng Skripten aus, lued keng Stiler a follegt keng Linken. Léist déi nächst relativ Linken par rapport zur Plaz vun der Äntwert, a vergiesst net datt Elementer déi de Browser rendert am erofgeluedene Quell kënne fehlen. All Äntwert soll säin eegene Dokument produzéieren, och wann d'Ufroen dee selwechte konfiguréierte HTTP-Client deelen.