Pa fanylion mewngofnodi .NET sy’n perthyn i’r dirprwy?
Gwahaniaethwch WebProxy.Credentials, manylion gweinydd y gyrchfan a DefaultProxyCredentials wrth ddilysu dirprwy HTTP.
Ar gyfer WebProxy pwrpasol, rhowch gyfrif y dirprwy ar y gwrthrych hwnnw. Mae priodweddau manylion mewngofnodi .NET eraill yn gwasanaethu derbynwyr gwahanol:
| Priodwedd | Derbynnydd |
|---|---|
WebProxy.Credentials | Y dirprwy a gynrychiolir gan y gwrthrych. |
HttpClientHandler.Credentials | Gweinydd y gyrchfan. |
DefaultProxyCredentials | Dirprwy diofyn y system pan fo Proxy yn null a UseProxy yn true. |
Mae’r enghraifft .NET 10 hon yn darparu dirprwy penodol a’i gyfrif ei hun:
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);
Amnewidiwch y pwynt dogfennaeth a defnyddiwch gyfrif gan y gweithredwr. Nid oes angen manylion dychmygol ar gofnod rhestr heb ddilysu. Gan fod Proxy y triniwr wedi’i osod yn benodol, nid yw DefaultProxyCredentials yn disodli WebProxy.Credentials.
Mae gan UseDefaultCredentials gwmpas penodol i’r gwrthrych hefyd: mae dilysu gweinydd triniwr a dilysu dirprwy WebProxy yn wahanol. Nid yw anfon cyfrif defnyddiwr y broses yn ymateb cyffredinol i 407.
Os yw’r her ddilysu’n parhau, gwiriwch y cynllun gwirioneddol, y pwynt a ddewiswyd a’r enghraifft cleient/triniwr. Gall dilysu dirprwy ddigwydd cyn TLS y gyrchfan, felly ni all pennyn Authorization gwefan ei ateb. Mae’r dilysu a gefnogir yn dal i ddibynnu ar y triniwr, y platfform, y gwasanaeth a’r polisi defnyddio; nid oes angen newid dirprwy Windows byd-eang.