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 клиентийг хуваалцсан ч хариулт бүр өөрийн баримтыг үүсгэх ёстой.

Холбоотой нийтлэлүүд