PHP CURL webservice via GET不返回任何内容
我在服务器上有一个简单的PHP web服务 我可以使用以下代码连接到此服务而无任何错误(我已删除我们的域): 但是,curl响应是完全空的 web服务本身工作得很好——它通过使用jQuery的AJAX在整个软件中被调用,并且工作得非常好PHP CURL webservice via GET不返回任何内容,php,web-services,rest,curl,Php,Web Services,Rest,Curl,我在服务器上有一个简单的PHP web服务 我可以使用以下代码连接到此服务而无任何错误(我已删除我们的域): 但是,curl响应是完全空的 web服务本身工作得很好——它通过使用jQuery的AJAX在整个软件中被调用,并且工作得非常好 关于我遗漏的内容有什么想法吗?请注意,HTTP状态代码与返回的正文内容长度没有关联。你很可能有一个HTTP 200。。。但是内容长度为0(这里的情况似乎是这样的?“下载内容长度”为0) 您是否检查了服务器端以了解可能存在的问题?(哦,由于我假设这是通过SSL实现
关于我遗漏的内容有什么想法吗?请注意,HTTP状态代码与返回的正文内容长度没有关联。你很可能有一个HTTP 200。。。但是内容长度为0(这里的情况似乎是这样的?“下载内容长度”为0)
您是否检查了服务器端以了解可能存在的问题?(哦,由于我假设这是通过SSL实现的,您可能希望将“CURLOPT_SSL_VERIFYPEER”设置为false,以查看这是否是curl无法验证证书的问题)该服务工作正常。如果我在IE中浏览到它,我会得到预期的JSON编码响应。如果我在关闭对等验证的情况下尝试此操作,我会得到完全相同的响应。好的,您的“ssl\u verify\u result”似乎是0。所以看起来这里没有问题。。。再一次,我会在服务器端查看出了什么问题。再次回到这个问题这么久了,我们在使用第三方的web服务时也遇到了类似的问题。因此,它看起来确实像是某种SSL问题。请尝试使用以下代码:
$service_url = '*** ADDRESS REDACTED! *** /getroomsforcategories.php';
$curl = curl_init();
$curl_post_data = array(
"categoryids" => 1
);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($curl, CURLOPT_URL,$service_url."?categoryids=1");
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($curl, CURLOPT_CAINFO, dirname(__FILE__) . "/cacert.pem");
$curl_response = curl_exec($curl);
if ($curl_response===false)
echo "<p>Error ".curl_errno($curl)." - ".curl_error($curl);
else
{
echo "<pre>The CURL information: \n";
print_r(curl_getinfo($curl));
echo "The response using cURL was: \n";
print_r($curl_response);
echo "</pre>";
curl_close($curl);
}
Array
(
[url] => *** REDACTED *** /getroomsforcategories.php?categoryids=1
[content_type] => text/html
[http_code] => 200
[header_size] => 348
[request_size] => 120
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0.125
[namelookup_time] => 0
[connect_time] => 0
[pretransfer_time] => 0.109
[size_upload] => 0
[size_download] => 0
[speed_download] => 0
[speed_upload] => 0
[download_content_length] => 0
[upload_content_length] => 0
[starttransfer_time] => 0.125
[redirect_time] => 0
[certinfo] => Array
(
)
[redirect_url] =>
)