Tôi đang cố gắng tìm cách bỏ qua kiểm tra chứng chỉ khi yêu cầu tài nguyên Https, cho đến nay, tôi đã tìm thấy một số bài viết hữu ích trên internet.
Nhưng tôi vẫn có một số vấn đề. Vui lòng xem lại mã của tôi. Tôi chỉ không hiểu ServicePointManager.ServerCertificateValidationCallback
ý nghĩa của mã .
Khi nào phương thức đại biểu này sẽ được gọi? Và một câu hỏi nữa, tôi nên viết mã này ở nơi nào? Trước khi ServicePointManager.ServerCertificateValidationCallback
thực hiện hay trước 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;
}
}