C#/.Net 爬虫request.GetResponse()报错:基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系/根据验证过程,远程证书无效

这篇具有很好参考价值的文章主要介绍了C#/.Net 爬虫request.GetResponse()报错:基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系/根据验证过程,远程证书无效。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

PS:C#/.Net 爬虫request.GetResponse()报错:基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系/根据验证过程,远程证书无效【最下方是完整代码】

首先,先放置一张报错的图片:

根据验证过程,远程证书无效,学习.Net问题记录,c#,ssl,安全,爬虫,网络协议
原因: 网站的证书应该是失效了,并且我发起的请求是基于Https的,所以被系统认定为不安全的连接。并且通过微软官方文档的解释如下:
根据验证过程,远程证书无效,学习.Net问题记录,c#,ssl,安全,爬虫,网络协议

解决方案:

1.需要使用ServicePointManager.SecurityProtoco属性,这个属性的解释如下,详细可以看官方文档:
根据验证过程,远程证书无效,学习.Net问题记录,c#,ssl,安全,爬虫,网络协议
使用的方式就是在发起Request请求之前给这个属性设置值:

 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;

枚举的类型是:
根据验证过程,远程证书无效,学习.Net问题记录,c#,ssl,安全,爬虫,网络协议

2.如果设置完这个属性还是有问题,就要考虑你的客户端与服务器之间是双向认证还是单向认证,默认大多数的网站都是单向认证。(不明白单向认证或者双向认证的同志可以搜索相关博文了解,这里不作阐述)。解决这个的方式是使用ServicePointManager.ServerCertificateValidationCallback这个委托。这个委托主要是用来身份验证的。
根据验证过程,远程证书无效,学习.Net问题记录,c#,ssl,安全,爬虫,网络协议
根据验证过程,远程证书无效,学习.Net问题记录,c#,ssl,安全,爬虫,网络协议
解决方案: 实现这个委托,强制返回True

 public bool CheckValidationResult(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors)
        {
            return true;
        }

详细的代码如下:
根据验证过程,远程证书无效,学习.Net问题记录,c#,ssl,安全,爬虫,网络协议文章来源地址https://www.toymoban.com/news/detail-601971.html

到了这里,关于C#/.Net 爬虫request.GetResponse()报错:基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系/根据验证过程,远程证书无效的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Request 爬虫的 SSL 连接问题深度解析

      SSL(Secure Sockets Layer)是一种用于确保网络通信安全性的加密协议,广泛应用于互联网上的数据传输。在数据爬取过程中,爬虫需要与使用 HTTPS 协议的网站进行通信,这就牵涉到了 SSL 连接。本文将深入研究 Request 爬虫中的 SSL 连接问题,并提供解决方案以应对各种情况。

    2024年02月05日
    浏览(42)
  • 爬虫问题1:pyppeteer/request/Selenium 您的连接不是私密连接的网站

    在爬虫过程中,自动测试时候遇到 您的连接不是私密连接的网站 这样的问题。 requests : verify参数设置为False selenium : 添加参数:--ignore-certificate-errors pyppeteer: 添加参数:--ignore-certificate-errors 具体使用方式如下: 其他方法: (1) --ignore-certificate-errors --ignore-urlfetcher-cert-requests

    2024年02月09日
    浏览(32)
  • 开启VPN使用爬虫,报错requests.exceptions.SSLError

    urllib3 1.26之后更新了主架构 urllib3 1.26 urllib3 schema旧版 降低版本为 1.25.11 (本人使用该方法,比较通用) 把 V代P理N服务器 的 ip 拷贝出来作为 requests 的 proxies 使用,端口一般是7890,然后本机不使用V科P学N上网则不会报错

    2024年02月12日
    浏览(25)
  • 【头歌】——数据分析与实践-python-网络爬虫-Scrapy爬虫基础-网页数据解析-requests 爬虫-JSON基础

    第1关 爬取网页的表格信息 第2关 爬取表格中指定单元格的信息 第3关 将单元格的信息保存到列表并排序 第4关 爬取div标签的信息 第5关 爬取单页多个div标签的信息 第6关 爬取多个网页的多个div标签的信息 第1关 Scarpy安装与项目创建 第2关 Scrapy核心原理 第1关 XPath解析网页 第

    2024年01月22日
    浏览(29)
  • python爬虫基础入门——利用requests和BeautifulSoup

    (本文是自己学习爬虫的一点笔记和感悟) 经过python的初步学习,对字符串、列表、字典、元祖、条件语句、循环语句……等概念应该已经有了整体印象,终于可以着手做一些小练习来巩固知识点,写爬虫练习再适合不过。 爬虫的本质就是从网页中获取所需的信息,对网页

    2024年02月15日
    浏览(31)
  • 5.爬虫必备基础知识(urllib&requests)一

    我们浏览器在输入完网址到我们看到网页的整体内容, 这个过程中究竟发生了些什么? 我们看一下一个浏览器请求的全过程 接下来就是一个比较重要的事情了. 所有的数据都在页面源代码里么? 非也~ 这里要介绍一个新的概念 那就是页面渲染数据的过程, 我们常见的页面渲染过

    2024年04月25日
    浏览(19)
  • Python爬虫基础:使用requests模块获取网页内容

    了解如何使用Python中的requests模块进行网页内容获取,包括获取网页步骤、代码实现、状态码查看、提取信息等。

    2024年02月22日
    浏览(45)
  • 【爬虫 | Python】解决‘Requests Max Retries Exceeded With Url‘报错的问题

    我们在写爬虫的时候,经常会遇到这样的报错信息: HTTPConnectionPool(host=‘xxx.xxx.com’, port=443): Max retries exceeded with url: /api/v2/oauth (Caused by NewConnectionError(’urllib3.connection.HTTPConnection object at 0x7fac5953ab70: Failed to establish a new connection: [Errno 110] Connection timed out’)) 这里有3个重要的信

    2023年04月12日
    浏览(16)
  • 一天掌握python爬虫【基础篇】 涵盖 requests、beautifulsoup、selenium

    大家好,我是python222小锋老师。前段时间卷了一套  Python3零基础7天入门实战  以及1小时掌握Python操作Mysql数据库之pymysql模块技术 近日锋哥又卷了一波课程,python爬虫【基础篇】 涵盖 requests、beautifulsoup、selenium,文字版+视频版。1天掌握。 视频版教程:一天掌握python爬虫【

    2024年02月07日
    浏览(23)
  • 微信小程序报错request:fail -2:net::ERR_FAILED(生成中间证书)

    小程序本地测试调用https接口正常,真机调试发现报错 request:fail-2:net:ERR_FAILED 很有可能是ssl证书问题。 进入网站:https://www.myssl.cn/tools/check-server-cert.html 输入网站后读取证书结果如下 缺少中间证书 中间证书是CA(证书颁发机构)签发数字证书时使用的一种证书。它是在根CA证

    2024年02月04日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包