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 கிளையண்டைப் பகிர்ந்தாலும் ஒவ்வொரு பதிலும் அதன் சொந்த ஆவணத்தை உருவாக்க வேண்டும்.

தொடர்புடைய கட்டுரைகள்