Kwa WebProxy maalumu, weka akaunti ya proksi kwenye kitu hicho. Sifa nyingine za taarifa za kuingia za .NET zina wapokeaji tofauti:

SifaMpokeaji
WebProxy.CredentialsProksi inayowakilishwa na kitu hicho.
HttpClientHandler.CredentialsSeva ya lengo.
DefaultProxyCredentialsProksi ya kawaida ya mfumo wakati Proxy ni null na UseProxy ni true.

Mfano huu wa .NET 10 unaweka proksi iliyotajwa wazi na akaunti yake yenyewe:

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);

Badili sehemu ya mwisho ya nyaraka na utumie akaunti iliyotolewa na mwendeshaji. Ingizo lisilohitaji uthibitishaji halihitaji kuunda taarifa za kuingia. Kwa kuwa Proxy ya kishughulikiaji imewekwa wazi, DefaultProxyCredentials si mbadala wa WebProxy.Credentials.

UseDefaultCredentials pia ina upeo maalumu wa kitu: uthibitishaji wa seva wa kishughulikiaji ni tofauti na uthibitishaji wa proksi wa WebProxy. Kutuma akaunti ya mtumiaji wa mchakato si jibu la jumla kwa 407.

Changamoto ya uthibitishaji ikiendelea, kagua mpango halisi, sehemu ya mwisho iliyochaguliwa na nakala ya mteja/kishughulikiaji. Uthibitishaji wa proksi unaweza kutangulia TLS ya lengo, hivyo kichwa cha Authorization cha tovuti hakiwezi kuijibu. Usaidizi bado unategemea kishughulikiaji, jukwaa, huduma na sera ya uwekaji; hakuna haja ya kubadili proksi ya Windows kwa mfumo mzima.

Makala zinazohusiana