欢迎光临 Rick 's BLOG
日志首页  | C# .Net编程  | 原创作品  | 生活点滴  | C\C++相关  | 多媒体相关※ERMP  | VB相关  | 其它运维与编程  |  留言簿
常见垃圾爬虫、蜘蛛及屏蔽方法 php怎么获取数组元素的个数
未知  网站升级https后,关联的一些处理
[ 发布日期:11个月前 (12-14) ]   [ 来自:本站原创 ] [分类:其它运维与编程]
网站升级https后,一些使用网站的客户端工具可能也需要测调整,看看是否兼容性新的https协议。
例如php通过 file_get_contents() 访问网站信息,在升级https后出现异常。
file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed 

C#客户端访问网站API时也发生了异常:
System.AggregateException  HResult = 0x80131500  Message =发生一个或多个错误。SocketException:现有连接被远程主机强行关闭


主要是https的加密协议兼容性问题,目前的证书一般都开启了tls1.2以上的加密协议,避免低版本加密协议的漏洞。
也有可能是证书信任问题。

PHP 访问https的调整修正方式:
$url = '请求地址';
[复制到剪贴板]

$option=array('ssl'=>array('verify_peer' => false,'verify_peer_name' => false));
$txt = @file_get_contents($urlfalsestream_context_create($option



或者使用 curl 来处理:
[复制到剪贴板]

function curl_get($url) {
   
$ch curl_init();
   
curl_setopt($chCURLOPT_HEADERfalse);
   
curl_setopt($chCURLOPT_URL$url);
   
curl_setopt($chCURLOPT_SSLVERSION,3); 
   
$result curl_exec($ch);
   
curl_close($ch);
   return 
$result;





C# 中的处理方式 
证书验证问题可以用下面的代码关闭:
[复制到剪贴板]

ServicePointManager.ServerCertificateValidationCallback += (sendercertchainsslPolicyErrors) => true



TLS协议版本的问题可以用下面的代码初始化:
[复制到剪贴板]

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


引用通告地址 (0):
复制引用地址https://www.rickw.cn/trackback/305
复制引用地址https://www.rickw.cn/trackback/305/GBK
[ 分类:其它运维与编程  | 查看:578 ]

暂时没有评论,快来发表一个评论吧。
发表评论
作者:   用户:[访客] 
评论:

表  情
禁止表情 | 禁止UBB | 禁止图片 | 识别链接
对不起,你没有权限上传附件!
验证:
 
PoweredBy R-Blog V1.00 © 2004-2024 WWW.RICKW.CN, Processed in second(s) , 7 queries    京ICP备17058477号-5