Https 리소스를 요청할 때 인증서 검사를 무시하는 방법을 찾으려고 노력했지만 지금까지 인터넷에서 유용한 기사를 찾았습니다.
그러나 여전히 문제가 있습니다. 내 코드를 검토하십시오. 코드의 ServicePointManager.ServerCertificateValidationCallback
의미를 이해하지 못합니다 .
이 델리게이트 메소드는 언제 호출됩니까? 그리고 한 번 더 질문하면이 코드를 어디에 작성해야합니까? ServicePointManager.ServerCertificateValidationCallback
실행 하기 전에 또는 전에 Stream stream = request.GetRequestStream()
?
public HttpWebRequest GetRequest()
{
CookieContainer cookieContainer = new CookieContainer();
// Create a request to the server
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(_remoteUrl);
#region Set request parameters
request.Method = _context.Request.HttpMethod;
request.UserAgent = _context.Request.UserAgent;
request.KeepAlive = true;
request.CookieContainer = cookieContainer;
request.PreAuthenticate = true;
request.AllowAutoRedirect = false;
#endregion
// For POST, write the post data extracted from the incoming request
if (request.Method == "POST")
{
Stream clientStream = _context.Request.InputStream;
request.ContentType = _context.Request.ContentType;
request.ContentLength = clientStream.Length;
ServicePointManager.ServerCertificateValidationCallback = delegate(
Object obj, X509Certificate certificate, X509Chain chain,
SslPolicyErrors errors)
{
return (true);
};
Stream stream = request.GetRequestStream();
....
}
....
return request;
}
}