WebRequest를 사용하여 HTTPS 암호화 사이트에 액세스
문제:
콘텐츠를 검색하는 프로그램에서 사용자가 제공한 URL에서 HTTPS로 암호화된 콘텐츠에 액세스하려는 시도가 실패하여 오류가 발생했습니다.
해결책:
이 문제는 SSL 인증서의 유효성을 검사하고 유효하지 않은 인증서가 있는 사이트에 대한 연결을 거부하는 WebRequest의 기본 동작에서 발생합니다. 인증서 유효성에 관계없이 코드가 HTTPS로 암호화된 콘텐츠에 액세스할 수 있도록 하려면 웹 요청을 하기 전에 다음 코드를 사용하여 인증서 유효성 검사를 비활성화할 수 있습니다.
ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications);
AcceptAllCertifications 정의:
AcceptAllCertifications 메소드는 다음과 같이 정의됩니다. 다음은 다음과 같습니다.
public bool AcceptAllCertifications(object sender, System.Security.Cryptography.X509Certificates.X509Certificate certification, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors sslPolicyErrors) { return true; }
이 콜백을 설정하면 WebRequest가 모든 인증을 수락하도록 지시하여 인증서 유효성 검사를 효과적으로 비활성화합니다. 이를 통해 인증이 유효하지 않은 경우에도 프로그램이 HTTPS로 암호화된 콘텐츠에 액세스할 수 있습니다.
위 내용은 WebRequest를 사용하여 잘못된 인증서가 있는 HTTPS 사이트에 어떻게 액세스할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!