cURL不再有效

时间:2017-10-02 18:15:30

标签: php curl

编辑:我现在已经通过使用HTML表单进行检查,通过POST提交数据,这非常有效,所以肯定是一个cURL错误任何帮助非常感谢!看起来这很奇怪昨晚有效,现在不是今晚...

o我设法让我的第一个cURL功能在昨晚工作。出于某种原因(并且没有我所知道的任何变化)它今天不起作用。

我的代码是:

<?php
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL,"http://www.example.com/api");
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, "apiKey=var1&message=var2&to=var3&from=var4");

    curl_exec ($curl);
    curl_close ($curl);

?>

现在我没有在PHP日志中收到任何错误,我看不到任何明显的语法错误。我已经检查过Im&#39;安装使用v7和cURL(如果这是正确的技术术语?)。当我访问API地址时,POST数据将不使用此函数,它会抛出一个身份验证错误,所以至少我会期望这样,但只会得到一个空白页。

这让我相信cURL本身并不是在发布数据,而是以某种方式忽略它。如果我在cURL之后放入标题,那么它们会遵循这一点,因此它们在代码中肯定没有致命错误。

2 个答案:

答案 0 :(得分:0)

很抱歉不指出明显的问题,但是你检查了卷曲错误吗?

$err = curl_errno($curl);
$errmsg = curl_error($curl);
$info = curl_getinfo($curl);

答案 1 :(得分:-1)

所以事实证明我的提供商已经停止接受对HTTP的请求,现在需要是HTTPS。

快速解决这个问题 - 虽然我从安全的角度来看并不是最优的,这对我们来说很好,因为数据不敏感,但我想到的是 - 要添加这行代码:

curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

在你的卷曲功能开始时。

我在这里找到了答案,它还讨论了一个更强大的修复方法:

http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/