Qaysi .NET kirish ma’lumotlari proksiga tegishli?
HTTP proksi autentifikatsiyasida WebProxy.Credentials, manzil serveri hisobi va DefaultProxyCredentials orasidagi farqni biling.
Maxsus WebProxy uchun proksi hisobini shu obyektga qo‘ying. Boshqa .NET kirish ma’lumoti xossalari har xil qabul qiluvchilarga xizmat qiladi:
| Xossa | Qabul qiluvchi |
|---|---|
WebProxy.Credentials | Shu obyekt ifodalagan proksi. |
HttpClientHandler.Credentials | Manzil serveri. |
DefaultProxyCredentials | Proxy null va UseProxy true bo‘lganda tizimning standart proksisi. |
Bu .NET 10 misoli ochiq ko‘rsatilgan proksi va uning o‘z hisobini beradi:
using System;
using System.Net;
using System.Net.Http;
string password = Environment.GetEnvironmentVariable("PROXY_PASSWORD")
?? throw new InvalidOperationException("Set PROXY_PASSWORD");
var proxy = new WebProxy("http://203.0.113.10:8080")
{
Credentials = new NetworkCredential("proxy-user", password)
};
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);
Hujjatdagi oxirgi nuqtani almashtiring va operator bergan hisobni ishlating. Autentifikatsiyasiz ro‘yxat yozuviga o‘ylab topilgan login kerak emas. Ishlovchining Proxy xossasi ochiq tayinlangani uchun DefaultProxyCredentials, WebProxy.Credentials o‘rnini bosmaydi.
UseDefaultCredentials ham obyektga xos qamrovga ega: ishlovchining server autentifikatsiyasi va WebProxy-ning proksi autentifikatsiyasi farqli. Jarayon foydalanuvchisining hisobini yuborish 407 uchun umumiy javob emas.
Autentifikatsiya talabi qolsa, haqiqiy sxemani, tanlangan oxirgi nuqtani va mijoz/ishlovchi nusxasini tekshiring. Proksi autentifikatsiyasi manzil TLS-idan oldin bo‘lishi mumkin, shuning uchun sayt Authorization sarlavhasi unga javob bera olmaydi. Qo‘llab-quvvatlash ishlovchi, platforma, xizmat va joriy qilish siyosatiga bog‘liq; umumiy Windows proksi o‘zgarishi kerak emas.