网站如何做实名验证码,私人可以搭建服务器吗?,餐饮网站建设方案书,网页设计与制作是什么意思目录
问题现象
范例运行环境
WebService 类
类介绍
增加参数
实现 小结 问题现象
最近在访问开发的微信支付功能时遇到了无法访问令牌的错误#xff0c;这个错误是公司内部应用程序接口返回的访问错误。经过排查是访问 HTTPS 站点遇到的错误#xff0c;提示证书风险…
目录
问题现象
范例运行环境
WebService 类
类介绍
增加参数
实现 小结 问题现象
最近在访问开发的微信支付功能时遇到了无法访问令牌的错误这个错误是公司内部应用程序接口返回的访问错误。经过排查是访问 HTTPS 站点遇到的错误提示证书风险在浏览器中显示的调用 URL显示结果如下图 如图如果点击 “忽略警告继续访问” 则可以跳过安全检测但在 c# 程序隐式的调用 api url 来获取返回结果就会遇到证书风险错误而无法继续访问。本文将介绍关于此问题的一些解决方法。
范例运行环境
操作系统 Windows Server 2019 DataCenter
.net版本 .netFramework4.0 或以上
开发工具VS2019 C#
WebService 类
类介绍
WebService 类提供了访问 Web API Url 的能力方法获取 API 返回的处理结果字串。关于WebService 类请参阅我的文章《C# 实现访问 Web API Url 提交数据并获取处理结果》。
增加参数
对 WebService 类的GetResponseResult方法增加了参数 使用说明见如下表格
序号参数名类型说明1secValidbool 是否进行安全协议认证默认值为 true
实现
关键实现代码如下
public string GetResponseResult(string url, System.Text.Encoding encoding, string method, string postData,string[] headers,string ContentType application/x-www-form-urlencoded,bool secValidtrue)
{method method.ToUpper();if (secValid false){ServicePointManager.ServerCertificateValidationCallback validSecurity;}System.Net.ServicePointManager.SecurityProtocol System.Net.SecurityProtocolType.Tls | System.Net.SecurityProtocolType.Tls11 | System.Net.SecurityProtocolType.Tls12;当 secValid 为 false 的时候增加了一个 validSecurity 方法。 该方法应用于 ServicePointManager.ServerCertificateValidationCallback该属性是一个委托属性它允许你指定一个回调方法当需要验证服务器SSL证书时可以自定义验证逻辑。
该方法实现代码如下
private static bool validSecurity(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
{return true;
} 小结
该方法只是为紧急解决问题的一种被动方式事因情况紧急访问的地址又是可信任的地址因此是一种临时的解决方案仅供应用参考当安全证书恢复更新后我们还是需要采取要求安全协议验证的方式来访问。
关于 System.Net.ServicePointManager.SecurityProtocol 的更多介绍请访问如下链接
https://learn.microsoft.com/zh-cn/dotnet/api/system.net.securityprotocoltype?viewnet-5.0 其它一些相关阅读可访问如下链接
https://support.microsoft.com/zh-cn/topic/%E6%97%A0%E6%B3%95%E8%BF%9E%E6%8E%A5%E5%88%B0%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8D%87%E7%BA%A7%E5%88%B0-net-framework-4-6-%E5%90%8E%E4%BD%BF%E7%94%A8-servicepointmanager-%E6%88%96-sslstream-api-1e3a9788-ab0d-7794-204b-6c4678bc5ed5 本文代码仅供您参考使用感谢您的阅读希望本文能够对您有所帮助。