AMH 社区首页
AMH社区 - 开放自由有价值的社区
[求助帖] 关于curl访问https的问题 |
|
---|---|
l12ab |
l12ab 发表于 2013-10-17 00:19:54
似乎以前提到过
默认是chroot安全模式,用curl访问https的站点会出错,必须改成兼容模式才行。估计还是某些文件未复制到根目录下的原因
点赞,加油! (0分)
2013-10-17 00:19:54 1
|
amysql |
在用amh哪个版本?
amh最新版本,安全模式下之前所有发现的https问题都有解决的了, 或测试一下这个看看先, http://amysql.com/bbs/forum.php?mod=redirect&goto=findpost&ptid=646&pid=3887&fromuid=2
回复
2013-10-17 13:32:22 2
AMH面板 - 好用高效低占用、安全可靠极稳定 |
l12ab |
本帖最后由 l12ab 于 2013-10-17 19:46 编辑
安全模式下,因为证书验证错误导致的,我加上这句代码,使其不验证证书,就好了。 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 兼容模式的话,不需要加这一句,也就是说兼容模式验证证书是成功的。所以是不是还得把系统自带的一些证书放入安全模式的目录里
回复
2013-10-17 19:36:55 3
|
amysql |
完整代码发一下看看。 : )
回复
2013-10-17 20:23:10 4
|
l12ab |
本帖最后由 l12ab 于 2013-10-17 21:06 编辑
代码是没问题的拉,之前在其他很多lamp机器上都是没问题的。 function curlurl($url,$header,$follow='0') {
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, $header); curl_setopt($ch, CURLOPT_REFERER, $url); //curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); //curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); if($follow=='1'){ curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); } $response = curl_exec ($ch); curl_close ($ch); return $response; } $img='https://pbs.twimg.com/media/BWtUBrhIgAAwYXL.jpg:large'; $imgurl=$time.md5($img); $data=curlurl($img,0,1); $write = @fopen($imgurl,"w+"); @fwrite($write,$data); @fclose($write);
回复
2013-10-17 21:04:25 5
|
amysql |
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 估计是你板凳说的原因了。 先加了吧,一般网站也不需双向认证。
回复
2013-10-17 22:54:50 6
|