URI는 호스트 앞에 username:password를 포함할 수 있습니다. 그렇다고 해서 그 URI를 받아들이는 모든 .NET API가 사용자 정보를 인증 개체로 복사하는 것은 아닙니다.

WebProxy를 직접 만들 때는 자격 증명 할당을 명시하십시오:

var proxy = new WebProxy("http://203.0.113.10:8080")
{
    Credentials = new NetworkCredential(proxyUser, proxyPassword)
};

엔드포인트와 계정 변수는 예시입니다. 이렇게 하면 대상 주소, 프록시 주소, 프록시 계정이 분리됩니다.

입력 형식이 자격 증명이 포함된 URL을 제공하면 해당 사용자 정보를 의도적으로 구문 분석하십시오. 콜론이 포함된 암호는 자격 증명 구분자에서만 분할하여 보존하고, 인코딩된 구성 요소는 적절한 단계에서 디코딩하십시오. 해당 파서를 진단할 때 원래 URL을 출력하지 마십시오.

환경 설정으로 동작하는 프록시 URL도 다른 생성자에 전달되면 다르게 동작할 수 있습니다. 환경 프록시 초기화에는 자체 구문 분석 논리가 있으며, 모든 생성자가 같은 필드를 사용한다는 보장은 아닙니다.

마지막으로 요청을 수행하는 처리기에 구성된 프록시 개체를 설정하십시오. 사용되지 않는 WebProxy의 올바른 자격 증명은 연결에 영향을 줄 수 없습니다.

관련 글