உங்கள் WebProxyக்கு ப்ராக்ஸி கணக்கை அதே ஆப்ஜெக்டில் அமைக்கவும். பிற .NET நுழைவுத் தகவல் பண்புகளின் பெறுநர்கள் வேறுபடுகின்றனர்:

பண்புபெறுநர்
WebProxy.Credentialsஅந்த ஆப்ஜெக்ட் குறிக்கும் ப்ராக்ஸி.
HttpClientHandler.Credentialsஇலக்குச் சர்வர்.
DefaultProxyCredentialsProxy null ஆகவும் UseProxy true ஆகவும் இருக்கும்போது கணினி இயல்பான ப்ராக்ஸி.

இந்த .NET 10 எடுத்துக்காட்டு வெளிப்படையாகத் தேர்ந்த ப்ராக்ஸியையும் அதன் சொந்தக் கணக்கையும் தருகிறது:

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

ஆவண முனையத்தை மாற்றி இயக்குநர் தந்த கணக்கைப் பயன்படுத்தவும். அங்கீகாரம் தேவையற்ற பட்டியல் பதிவுக்குக் கற்பனையான லாகின் வேண்டாம். ஹேண்ட்லரின் Proxy வெளிப்படையாக அமைக்கப்பட்டதால் DefaultProxyCredentials, WebProxy.Credentialsக்கு மாற்றல்ல.

UseDefaultCredentialsன் வரம்பும் ஆப்ஜெக்டைப் பொறுத்தது: ஹேண்ட்லரின் சர்வர் அங்கீகாரமும் WebProxyயின் ப்ராக்ஸி அங்கீகாரமும் வேறு. செயல்முறைப் பயனரின் கணக்கை அனுப்புவது 407க்கான பொதுவான பதிலல்ல.

அங்கீகாரச் சவால் தொடர்ந்தால் உண்மையான முறை, தேர்ந்த முனையம், கிளையண்ட்/ஹேண்ட்லர் இன்ஸ்டன்ஸ் ஆகியவற்றைப் பாருங்கள். ப்ராக்ஸி அங்கீகாரம் இலக்கு TLSக்கு முன் நடக்கலாம்; எனவே தளத்தின் Authorization தலைப்பு அதற்குப் பதிலளிக்க முடியாது. ஆதரவு இன்னும் ஹேண்ட்லர், தளம், சேவை, செயல்படுத்தல் கொள்கை ஆகியவற்றைப் பொறுத்தது; முழு Windows ப்ராக்ஸி மாற்றம் தேவையில்லை.

தொடர்புடைய கட்டுரைகள்