Хүсэлт таны прокси handler-аар үүсгэсэн HttpClient-ийг ашиглах ёстой. Хамааралгүй WebProxy объект үүсгэх нь өөр клиентийн замыг өөрчлөхгүй.

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 прокси жагсаалтын бодит HTTP проксигоор соль. Энэ дээд түвшний бичлэг орчин үеийн C# консол төсөлд тохирно; хуучин төсөлд заавруудыг асинхрон Main дотор хийж болно.

Handler-ийн хоёр шинжийг шалга: Proxy төгсгөлийн цэгийг сонгож, UseProxy=true хэрэглээг нь идэвхжүүлнэ. Цэг тусдаа ажиллаад аппад ажиллахгүй бол код UseProxy-г унтраагаагүй, дуудлага энэ экземплярыг хэрэглэж байгааг баталгаажуул. Тусгай handler нь процесс эсвэл үйлдлийн системийн прокси илрүүлэлтээс хамаарахаас зайлсхийдэг.

Прокси ажиллуулагч данс өгвөл NetworkCredential-ийг WebProxy.Credentials шинжид оноо. Вебсайтын Authorization өөр алхамд зориулагдсан бөгөөд нийтийн IP:port мөр анхдагч нэвтрэх мэдээлэл өгөхгүй. http:// сонсогч HTTPS-ийг хонгилоор дамжуулж чадна; зорилтот талын ердийн баталгаажуулалтыг хадгал.

Энэ богино програм гарахдаа объектуудыг чөлөөлнө. Үйлчилгээг давтан дуудахдаа .NET клиентийн амьдрах хугацааны зөвлөмжийг дагаж, хүсэлт бүрд холболтын санг дахин байгуулахын оронд ажлын ачаалалд тохируулан клиент/handler-ийг хадгал. Буцсан төлөвийг шалга: ажилладаг прокси зам ч вебсайтын татгалзлыг дамжуулж болно.

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