Saya mencoba menemukan cara untuk mengabaikan pemeriksaan sertifikat ketika meminta sumber daya Https, sejauh ini, saya menemukan beberapa artikel bermanfaat di internet.
Tetapi saya masih memiliki beberapa masalah. Harap tinjau kode saya. Saya hanya tidak mengerti apa artinya kode ServicePointManager.ServerCertificateValidationCallback
.
Kapan metode delegasi ini dipanggil? Dan satu pertanyaan lagi, di tempat mana saya harus menulis kode ini? Sebelum ServicePointManager.ServerCertificateValidationCallback
dieksekusi atau sebelumnya 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;
}
}