php + curl 问题资源 id #2 on curl_init
Posted
技术标签:
【中文标题】php + curl 问题资源 id #2 on curl_init【英文标题】:php + curl issue Resource id # 2 on curl_init 【发布时间】:2016-09-30 08:28:20 【问题描述】::
$url = "https://example.com:4433/deviceservice/authorize?login=query"; // 网址 JSON $ch = curl_init($url); 回声 $ch; //写入资源id #2 如果($ch) curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, TRUE); $json = curl_exec($ch); $json = json_decode($json); 别的 回声“无”;我做错了什么?
【问题讨论】:
请在谷歌上搜索并按照步骤操作。我相信你一定能弄明白的。 【参考方案1】:如果您不在使用 SSL 的主机上,则应绕过 SSL 验证
<?php
$url = "https://example.com:4433/deviceservice/authorize?login=query";
$ch = curl_init($url);
echo $ch; //write Resource id # 2
if( $ch )
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
$json = curl_exec( $ch );
$json = json_decode($json);
else
echo 'nothing';
【讨论】:
谢谢。我一直在尝试在我的 WAMP 本地服务器上修复 cURL。我以为它根本没有加载,我安装了很多不同的版本,尝试了各种修复但没有任何效果。然后我意识到 curl_init 函数有效,只有其余的没有。这是 SSL 验证问题。你为我节省了几个小时。【参考方案2】:尝试使用 curl_error($ch) 和 echo 来诊断错误
$ch= curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
)
);
$response = curl_exec($ch);
$err_status = curl_error($ch);
echo $err_status;
curl_close($ch);
【讨论】:
【参考方案3】:curl_init
成功时返回 cURL
句柄,错误时返回 FALSE。
所以echo $ch;
会返回类似 Resource id #2 的东西。
见http://php.net/manual/en/function.curl-init.php
你必须尝试这样的事情
$url = "https://example.com:4433/deviceservice/authorize?login=query"; // URL JSON
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, TRUE);
$json = curl_exec( $ch );
$json = json_decode($json);
curl_close($ch);
if(empty($json))
echo 'nothing';
【讨论】:
以上是关于php + curl 问题资源 id #2 on curl_init的主要内容,如果未能解决你的问题,请参考以下文章