httpwebrequest 访问https网站超时

leonbingo 2020-06-13 05:39:29
最近做一个数据采集的活,突然发现httpwebrequest访问某些https的站点一直超时,主要是使用tls1.2 和tls1.3 的部分站点,有的可以访问,有的就一直超时,网上找了很多解决方案,尝试都无果,.net也升级到4.8了,这个版本支持tls1.3,非常不解,有什么好的解决方案吗?重谢
...全文
282 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
如果服务端是自己公司的服务系统,建议先用 http 来提供测试。
  • 打赏
  • 举报
回复
使用 http 通讯调试工具拦截收发消息内容,如果时通时不通,连握手都不稳定,那跟你的客户端程序没关系。很可能是服务器程序过烂,并发处理能力超过了程序员的经验和测试极限。
leonbingo 2020-06-13
  • 打赏
  • 举报
回复
能够确认的是,不管在开发机还是服务器上面用浏览器都是可以正常链接网站的,开发机是win10,服务器win server 2012,程序是一直报超时
github_36000833 2020-06-13
  • 打赏
  • 举报
回复
1、先试试不同的操作系统,或试试操作系统更新。 在Windows下,http/https是由操作系统的http.sys来负责的。 DotNet对TLS的版本支持,是对传递参数等等的支持,具体tls还是由系统的http.sys来做。 不同的操作系统/补丁更新,会导致TLS上的行为出现不一样。 比如取消不安全的安全套件,提出更高的安全要求,等等等等。 一个例子为了抵御 CVE-2019-1318,系统可能强制要求EMS,导致连接某些服务器时,出现失败或超时的现象。 2、试试在linux下用curl等连接问题网站,用来帮助确认是否网站本身的问题。 3、重新用netcore编译你的程序,试试在linux下用netcore程序连接问题网站。这个可以用来界定是否问题出在http.sys的兼容要求上,因为netcore程序运行在linux下并不使用http.sys。

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧