在windows vista上使用cURL有问题。库在那里并显示phpinfo(),但curl_exec()不返回网页内容-当在linux服务器上上传和测试时,相同的代码没有问题,返回预期的数据。
有没有人有过这样的经验/想法?我使用的是xampp和php 5.2.6.
更新:
Array( [url] => https://graph.facebook.com/me
[content_type] => [http_code] => 0
[header_size] => 0
[request_size] => 0
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0
[namelookup_time] => 0
[connect_time] => 0.203
[pretransfer_time] => 0
[size_upload] => 0
[size_download] => 0
[speed_download] => 0
[speed_upload] => 0
[download_content_length] => -1
[upload_content_length] => -1
[starttransfer_time] => 0
[redirect_time] => 0 )
是我从print_r(curl_getinfo($ch))得到的响应;
我注意到这是一个https
地址。
试试这样做:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
设置为false允许Curl
接受任何CA
。
你可以在这里查看文档:
http://php.net/manual/en/function.curl-setopt.php
CURLOPT_SSL_VERIFYPEER
FALSE表示停止cURL验证对端证书。可以使用CURLOPT_CAINFO选项指定要验证的备用证书,也可以使用CURLOPT_CAPATH选项指定证书目录。如果CURLOPT_SSL_VERIFYPEER被禁用(默认为2),则CURLOPT_SSL_VERIFYHOST也可能需要为TRUE或FALSE。
我认为你应该把:[url] => https://graph.facebook.com/me
改为
[url] => "https://graph.facebook.com/me"
我假设您使用逗号来分隔php数组中的键值对。