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־קליענט.

פֿאַרבונדענע אַרטיקלען