【问题标题】:curl_exec always returns 0?curl_exec 总是返回 0?
【发布时间】:2011-06-08 22:54:36
【问题描述】:

我有这个功能:

function Connect($url, $post = 0, $postfields = '') 
{
    $ch = curl_init();
    if($post > 0) {
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
    } 
    curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__).'/joomla-cookie.txt');
    curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__).'/joomla-cookie.txt');
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    $exec = curl_exec($ch);
    if($exec) { return $exec; } else { return 0; }
}

我这样称呼它Connect($host)

而且它总是返回 0...

【问题讨论】:

  • $host 建议您发送 "google.com" ,其中所需的 url 是 http://google.com,您使用的是什么?
  • @Sabeen 我实际上用 https:// 发送它也许是因为 https:// 而不是 http:// ?因为“google.com”有效。

标签: php session cookies curl


【解决方案1】:

尝试将 CURLOPT_SSL_VERIFYPEER 和 CURLOPT_SSL_VERIFYHOST 设置为 false。这应该可以解决问题。

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

【讨论】:

  • @Sabeen 有办法让cookie也支持SSL吗?因为会话仅在我使用 http:// ... 时保存
  • 我认为 https 不会影响 cookie 的存储方式。查看 joomla-cookie.txt 文件,看看它包含什么,这可能会给你一些线索。
  • @Sabeen 是的,我认为它也不应该影响它,但它确实可以。我对饼干一无所知。这是粘贴箱:pastebin.com/RX9vnEbT
  • 你在 http 和 https 之间移动吗?
  • 尝试确保以 https 开头并提交到 https。我相信如果你在 https 和 http 之间交叉,你会丢失 cookie。 https的域也相同。有时网站有secure.domain.com
【解决方案2】:

检查curl_exec之后的请求是否有错误:

if(curl_errno($ch)){
    echo 'Curl error: ' . curl_error($ch);
}

这将为您提供足够的信息来了解请求是否存在错误。如果没有错误,您可以检查 curl_exec 之后发送的请求,以便再次检查发送的所有内容是否到位:

print_r(curl_getinfo($ch));

【讨论】:

  • 谢谢!我收到 SSL 错误:Curl 错误:SSL 证书问题,验证 CA 证书是否正常。详情 ls: error:14090086:SSLroutines:SSL3_GET_SERVER_CERTIFICATE:certificate verify faile dSession ID: Curl error: SSL证书问题,验证CA证书是否OK。详情:error:14090086:SSLroutines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed 所以一定是因为 https://..
猜你喜欢
  • 2012-01-03
  • 2015-09-27
  • 2014-03-20
  • 2013-04-13
  • 2013-03-30
  • 2016-07-13
  • 2023-04-09
  • 2021-10-27
  • 1970-01-01
相关资源
最近更新 更多