అభ్యర్థన మీ proxy handlerతో నిర్మించిన HttpClient వాడాలి. సంబంధం లేని WebProxy object సృష్టించడం వేరే client మార్గాన్ని మార్చదు.

using System;
using System.Net;
using System.Net.Http;

var proxy = new WebProxy("http://203.0.113.10:8080")
{
    BypassProxyOnLocal = false
};

using var handler = new HttpClientHandler
{
    Proxy = proxy,
    UseProxy = true
};

using var client = new HttpClient(handler)
{
    Timeout = TimeSpan.FromSeconds(15)
};

using var response = await client.GetAsync("https://example.com/");
Console.WriteLine((int)response.StatusCode);
Console.WriteLine(await response.Content.ReadAsStringAsync());

పత్రాల చిరునామాను మీ సేవలోని లేదా HTTP proxy జాబితాలోని నిజమైన HTTP proxyతో మార్చండి. ఈ top-level syntax ఆధునిక C# console ప్రాజెక్టుకు సరిపోతుంది; పాత ప్రాజెక్టులు వాక్యాలను asynchronous Mainలో పెట్టవచ్చు.

Handler రెండు లక్షణాలనూ తనిఖీ చేయండి: Proxy endpointను ఎంచుకుంటుంది, UseProxy=true వాడకాన్ని ఆన్ చేస్తుంది. Endpoint విడిగా పనిచేసి యాప్‌లో పనిచేయకపోతే, ఏ కోడ్ UseProxyను ఆఫ్ చేయలేదని, call ఇదే instance వాడుతోందని నిర్ధారించండి. ప్రత్యేక handler process లేదా OS proxy గుర్తింపుపై ఆధారాన్ని నివారిస్తుంది.

Proxy నిర్వాహకుడు ఖాతా ఇస్తే NetworkCredentialను WebProxy.Credentials లక్షణానికి కేటాయించండి. వెబ్‌సైట్ Authorization వేరే దశ కోసం; బహిరంగ IP:port నమోదు default login వివరాలు ఇవ్వదు. http:// listener tunnel ద్వారా HTTPS మోయగలదు; సాధారణ గమ్యస్థాన ధృవీకరణ కొనసాగించండి.

ఈ చిన్న ప్రోగ్రాం ముగిసేటప్పుడు objectలను విడుదల చేస్తుంది. పునరావృత service callలకు .NET client lifetime మార్గదర్శకాన్ని అనుసరించి, ప్రతి అభ్యర్థనకు connection pool మళ్లీ కట్టకుండా workload కోసం client/handler ఉంచండి. తిరిగివచ్చిన status చూడండి: పనిచేసే proxy మార్గం కూడా వెబ్‌సైట్ తిరస్కారాన్ని మోయవచ్చు.

సంబంధిత వ్యాసాలు