Ipadala ang .NET HttpClient Request sa Proxy
I-configure ang WebProxy sa HttpClientHandler at iwasang iwang naka-off ang proxy routing o ikabit ito sa maling client.
Kailangang gamitin ng request ang HttpClient na binuo gamit ang iyong proxy handler. Hindi binabago ng paggawa ng hiwalay na WebProxy object ang ruta ng ibang 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());Palitan ang address para sa dokumentasyon ng tunay na HTTP proxy mula sa serbisyo mo o sa HTTP proxy list. Ang top-level syntax na ito ay angkop sa modernong C# console project; puwedeng ilagay ng mas lumang proyekto ang mga statement sa asynchronous na Main.
Suriin ang dalawang property ng handler: pinipili ng Proxy ang endpoint at pinapagana ng UseProxy=true ang paggamit nito. Kung gumagana nang hiwalay ang endpoint pero hindi sa app, tiyaking walang code na nag-o-off sa UseProxy at ang instance na ito ang gamit ng tawag. Hindi umaasa ang nakalaang handler sa proxy discovery ng process o OS.
Kapag may account na ibinigay ang operator ng proxy, magtalaga ng NetworkCredential sa WebProxy.Credentials property. Para sa ibang hop ang Authorization ng website, at walang default login ang pampublikong IP:port entry. Kayang magdala ng HTTPS sa tunnel ang http:// listener; panatilihin ang karaniwang destination verification.
Nire-release ng maikling programang ito ang mga object sa paglabas. Para sa paulit-ulit na service call, sundin ang gabay ng .NET sa client lifetime at panatilihin ang client/handler para sa workload sa halip na buuin muli ang connection pool sa bawat request. Tingnan ang ibinalik na status: maaaring magdala pa rin ng pagtanggi ng website ang gumaganang proxy path.