今天为了获取一张图片,用了一段代码:

ServicePointManager.ServerCertificateValidationCallback += new RemoteCertificateValidationCallback((a, b, c, d) => true);
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
ServicePointManager.Expect100Continue = false;
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(imgUrl);
req.AllowAutoRedirect = true;
req.KeepAlive = true;
req.Method = "GET";
WebResponse resp = req.GetResponse();
Stream stream = resp.GetResponseStream();

里面添加了ServicePointManager.SecurityProtocol,但是一直还是报错:"请求被中止: 未能创建 SSL/TLS 安全通道。"

然后网上参考了一下:https://blog.csdn.net/yunwu009/article/details/80768860

下载了证书,加到代码中:

string filePath =".\\cer\\specifier.cer";
X509Certificate2 cert = new X509Certificate2(filePath);
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(imgUrl);
//将证书添加客户端证书集合
req.ClientCertificates.Add(cert);

但是仍然无效。

感觉非常奇怪,然后通过DevTools看了一下图片网址的协议版本:

发现版本已经到了TLS 1.3了,因为我本地的版本是.net framework 4.7 ,还没有支持Tls1.3版本,于是修改了ServicePointManager.SecurityProtocol:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | (SecurityProtocolType)12288;

结果换了新的报错:不支持请求的安全协议。

网上说只有最新的.net 5里面才支持了Tls1.3版本,那.net framework系列就没有解决办法了吗?

该怎么解决?求助各位大神!!!

C# 请求被中止: 未能创建 SSL/TLS 安全通道。 设置SecurityProtocol无效的更多相关文章

  1. 彻底解决:请求被中止: 未能创建 SSL/TLS 安全通道

    最近有个项目要调用客户用java写的带https的webservice,对方提供了证书文件 test.pfx,我这里调用方式如下: //webservice代理类 SvcService svc = n ...

  2. 请求被中止: 未能创建 SSL/TLS 安全通道

    出现“请求被中止: 未能创建 SSL/TLS 安全通道.”的问题. 在创建请求地址的前面加了这句代码就可以了 System.Net.ServicePointManager.SecurityProtoc ...

  3. C# 解决“请求被中止: 未能创建 SSL/TLS 安全通道”的问题

    最近在开发项目的时候,使用爬虫抓取网络数据的时候,当请求Web数据时,碰到了“请求被中止: 未能创建 SSL/TLS 安全通道”的问题,尝试过很多网上的方法,例如添加证书等都没有用.最后在GitHub ...

  4. 请求被中止: 未能创建 SSL/TLS 安全通道,设置 TLSv1.2和TLSv1.1版本 .基础链接已经关闭,发送时发生错误

    WSO2 API访问的安全要求, 只能提供TLSv1.2和TLSv1.1版本,其它SSL版本协议因为存在较高安全漏洞问题会被disable. A 改成TLSv1.1或TLSv1.2,最好使用TLSv1 ...

  5. 请求被中止: 未能创建 SSL/TLS 安全通道,以及解决方法,即:Could not create SSL/TLS secure channel

    C# 访问https请求被中止: 未能创建 SSL/TLS 安全通道(Could not create SSL/TLS secure channel) 以及 X509Certificate2 temp ...

  6. .NET HttpWebRequest(请求被中止: 未能创建 SSL/TLS 安全通道)和(基础连接已经关闭: 发送时发生错误)问题查找解决

    前言: 前段时间在对接第三方接口的时候发生了一个非常奇葩的问题,就是使用 .NET Framework 4.6 HttpWebRequest进行网络请求的相关问题.背景,关于调用第三方的接口都是使用使 ...

  7. Paypal开发中遇到请求被中止: 未能创建 SSL/TLS 安全通道及解决方案

    最近在基于ASP.NET上开发了Paypal支付平台,在ASP.NET开发的过程中没有遇到这个问题,但是引用到MVC开发模式中的时候就出现了"未能创建 SSL/TLS 安全通道及解决方案&q ...

  8. WebRequest请求被中止: 未能创建 SSL/TLS 安全通道

    使用System.Net.WebRequest.Create(url)抓取某网站信息时 ,出现“未能创建 SSL/TLS 安全通道”此条异常信息 解决方案 引用:using System.Net; 在 ...

  9. C# https证书通信Post/Get(解决做ssl通道时遇到“请求被中止: 未能创建 SSL/TLS 安全通道”问题)

    public static string HttpPost(string url, string param = null) { HttpWebRequest request; //如果是发送HTTP ...

随机推荐

  1. PHP字符串你不知道的事

    PHP常见的定义字符串的方式有那些? 1.单引号 在单引号中,任何特殊字符都会按原样输出[除\.\'将会被转义输出],不是什么都不解析的,这是很多人的误解 echo 'this is a var!'. ...

  2. Shell脚本命令常用技巧

    如果一个命令只有一次输出,但想持续观察输出变化,使用watch -d -n1 'df -h'可行,df -h输出一次硬盘使用情况,用上面指令可以持续观察.-d表示相邻输出如果有差异要高亮标记,-n1表 ...

  3. css 10-CSS3选择器详解

    10-CSS3选择器详解 #CSS3介绍 CSS3在CSS2基础上,增强或新增了许多特性, 弥补了CSS2的众多不足之处,使得Web开发变得更为高效和便捷. #CSS3的现状 浏览器支持程度不够好,有 ...

  4. CSS练习 —— css选择器

    CSS选择器就是 通过选择器来 定位 你要控制的样式的部分,分为以下几种 1.HTML选择符(标签选择器) 就是把HTML标签作为选择符使用 如 p {.......} 网页中所有的P标签采用此样式 ...

  5. 数字crawlergo动态爬虫结合长亭XRAY被动扫描

    群里师傅分享了个挖洞的视频,搜了一下,大概就是基于这篇文章录的 https://xz.aliyun.com/t/7047 (小声哔哔一下,不得不说,阿里云先知社区和360酒仙桥六号部队公众号这两个地方 ...

  6. 我们为什么选择VUE来构建前端

    很多使用过VUE的程序员,对VUE的评价是"Vue.js 兼具angular.js和react.js的优点,并剔除了它们的缺点". 那么,他真的值得这么高的评价嘛? Vue.js的 ...

  7. Django之DRF-- API限速

    什么场景下需要限制访问频次呢? 1)防爬虫:爬虫可能会在短时间内大量的访问服务接口,增加服务器压力 2)对于需要限制访问频次的接口 具体使用配置如下: 1,settings.py加入配置 REST_F ...

  8. k8s的kube-proxy

    kube-proxy 运行在每个节点上,监听 API Server 中服务对象的变化,再通过管理 IPtables 来实现网络的转发. Kube-Proxy 不同的版本可支持三种工作模式:   Use ...

  9. 使用CDN后如何配置Apache使其记录访客真实IP

    今天想看看哪些地区的人访问过我的网站,于是打开Apache网站响应日志,把访客IP复制到百度,发现搜到的全部都是我是用的CDN的节点IP,真实的访客IP并没有被记录. 如图所示,上面的103.45.7 ...

  10. 设计模式之-Builder模式

    场景引入: 一个类,如果有多个属性时,在创建对象,如何对属性进行赋值呢? 1.通过构造器赋值,这种方案优点时一次性赋值完成,但是多种属性的组合,导致构造器会非常多. 2.通过setter方法赋值,方案 ...