光子:此方法我未测试,用上篇文章中的方法解决了,有兴趣的小伙伴试一下。 4-28 测试了一下,对我的程序没用。 在程序中获取某个https网址的源码,GetRespose()时 出现了“基础连接已经关闭: 发送时发生错误。”的错误提示。 翻了论坛后,有个仁兄说: //.net 4.0 设置: ServicePointManager.SecurityProtocol = (SecurityProtocolType)3072; //.net 4.5 设置: ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls1.2; 我看了眼自己写的程序,是.net4.0的 于是写了上边这句,就好了。 原因虽然没搞清楚。但体会很深。懂行的就是一句话。不懂行的折腾几天,胡咧咧,没用。 这句话,值多少钱? 除此之外,上午碰见了关于安全性提示的问题,相关的话分别是 //ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult); //ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3; 谁知道有没有用呢,记下来,有用没用以后再说。 from:http://blog.163.com/g3631417@126/blog/static/3666747620178523250968/
View Details
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
//解决方法: //引入命名空间: using System.Security.Cryptography.X509Certificates; using System.Net.Security; //定义方法: private static bool RemoteCertificateValidate(object sender, X509Certificate cert, X509Chain chain, SslPolicyErrors error) { //为了通过证书验证,总是返回true return true; } //调用方法一: //在构造函数中调用: static WxRequest() { // 获取验证证书的回调函数 ServicePointManager.ServerCertificateValidationCallback+=RemoteCertificateValidate; } //方法二: //在WebRequest请求之前调用: ServicePointManager.ServerCertificateValidationCallback+=RemoteCertificateValidate; |
光子:亲测可用。我原来的代码写的是:ServicePointManager.ServerCertificateValidationCallback=RemoteCertificateValidate; 唯独少了个+号,…………………………%……&%%¥#¥¥¥%¥%……………… 光子:2018/04/27/13:56 又出现了,有点效果。 from:https://www.cnblogs.com/ianunspace/p/5508179.html
View Details