当前位置:首页 » 《关于电脑》 » 正文

C# 解决访问 API 显示基础连接已经关闭的问题

8 人参与  2024年12月28日 10:02  分类 : 《关于电脑》  评论

点击全文阅读


目录

故障现象

开发运行环境

解决

其它


故障现象

最近在 Web 部署百度 AI 图像识别 AipSdk.dll 封装库的时候,在调用OCR图像识别 API 的时候,显示为 “ 基础连接已经关闭: 接收时发生错误。” ,并且运行后直接崩溃:

以身份证识别为例,如下代码:

var API_KEY = "";var SECRET_KEY = "";                        var client = new Baidu.Aip.Ocr.Ocr(API_KEY, SECRET_KEY);client.Timeout = 60000;  // 修改超时时间                        Newtonsoft.Json.Linq.JObject result = new Newtonsoft.Json.Linq.JObject();var options = new Dictionary<string, object>{   {"detect_risk", "true"},   {"detect_direction", "true"},   {"detect_photo", "true"}};byte[] image = getImageByte(imagePath);result = client.Idcard(image, "front", options);

问题出在 client.Idcard(image, "front", options); 调用上,这种现象不是每次都会发生,在其它部署的 IIS 站点上未发现此类问题,且部署配置一致。

开发运行环境

操作系统: Windows Server 2019 DataCenter

.net版本: .netFramework4.7.2 

开发工具:VS2019  C#

解决

通过在Page_Load 服务器事件添加如下语句,解决:

void Page_Load(Object sender, EventArgs e){     System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls | System.Net.SecurityProtocolType.Tls11 | System.Net.SecurityProtocolType.Tls12;}  

System.Net.ServicePointManager.SecurityProtocol 属性可选择安全套接字层 (SSL) 或传输层安全 (TLS) 协议的版本,以用于新连接,不会更改现有连接。

System.Net.SecurityProtocolType 指定 Schannel 安全包支持的安全协议的可选择项见下表:

序号说明
1Ssl3指定安全套接字层 (SSL) 3.0 安全协议。 SSL 3.0 已由传输层安全性 (TLS) 协议取代,之所以仍然提供这个方法,只是为了向后兼容。
2SystemDefault允许操作系统选择要使用的最佳协议,并将其用于阻止不安全的协议。 应使用此值,除非应用有特定原因不得使用此值。
3Tls指定传输层安全 (TLS) 1.0 安全协议。 TLS 1.0 协议在 IETF RFC 2246 中定义。
4Tls1指定传输层安全 (TLS) 1.1 安全协议。 TLS 1.1 协议在 IETF RFC 4346 中定义。 在 Windows 系统上,从 Windows 7 开始支持此值。
5Tls2指定传输层安全 (TLS) 1.2 安全协议。 TLS 1.2 协议在 IETF RFC 5246 中定义。 在 Windows 系统上,从 Windows 7 开始支持此值。

更多详情请参考:

https://learn.microsoft.com/zh-cn/dotnet/api/system.net.servicepointmanager.securityprotocol?view=netcore-2.0

其它

解决该问题是由于百度封装的库,则需要在Page_Load事件进行外围处理即可,在运行中为保险起见还是要对调用进行异常处理。现其已经开源,有C#版本,详情可访问如下网址:

https://ai.baidu.com/ai-doc/IMAGERECOGNITION/2k3bcxhqb

如果对于可直接访问的 API URL ,可参阅我的文章:

《C# 关于“您与该网站的连接不是私密连接...”的问题》

《C# 实现访问 Web API Url 提交数据并获取处理结果》

 通过 GetResponseResult 方法可完美解决此问题。

感谢您的阅读,希望本文能够对您有所帮助。


点击全文阅读


本文链接:http://zhangshiyu.com/post/208105.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 老公要娶狐狸做平妻,我杀疯了精选作品_陈默老公小少爷精彩分享_小说后续在线阅读_无删减免费完结_
  • 婆婆在我婚礼上跳钢管舞热门榜首_林昊婆婆周慧慧无错版_小说后续在线阅读_无删减免费完结_
  • 害我入狱,我成狱神后你们连跪都不配!独家番外_陆见秋柳盈盈新上_小说后续在线阅读_无删减免费完结_
  • 斗罗v:从逮到千仞雪偷窃开始成神完结版_陈晨胡列娜大反击_小说后续在线阅读_无删减免费完结_
  • 末世开火车,顺便捡了个机械神格高分神作_李昂诺亚独家首发_小说后续在线阅读_无删减免费完结_
  • 云清免费看_云舒小姐太后校园甜文_小说后续在线阅读_无删减免费完结_
  • 军训前,童养媳拿我的病历本给心上人叠纸飞机后,我退婚了完结爽文_杨鹤童养媳阿鹤一口气完结_小说后续在线阅读_无删减免费完结_
  • 未婚夫女兄弟把婚车改成宠物灵车,我反手让她的宾利变破烂最新阅读_魏成鸣乔诗诗林书妍小编推荐_小说后续在线阅读_无删减免费完结_
  • 军训当天男友为校花虐功勋犬,重生后我杀疯了潜力榜_顾野杜璇闻言大结局_小说后续在线阅读_无删减免费完结_
  • 天塌了!大佬们全被我捡回家了阿昭,小白,李惊雪小说整本+后续(阿昭,小白,李惊雪)清爽版阅读
  • 重生八零,我笑看真千金用土气布料卖港商免费阅读_妹妹姜雅沈俊爆款_小说后续在线阅读_无删减免费完结_
  • 秦昭:+后续人物讨喜无套路全集手握一把刀,砍翻万道!

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1