PHP cURL https没有错误,无法正常工作

时间:2015-11-09 21:27:03

标签: php curl

我真的很困惑。我的公司最近将此网址更改为http s ,我无法再对其发出cURL请求。公司里没有其他人做PHP,所以没有人帮我调试。

我对https没有多少经验,所以我在这里阅读了一些帖子,发现了一些解决同一问题的帖子,即这一个:

Can't connect to HTTPS site using cURL. Returns 0 length content instead. What can I do?

起初,我收到了与安全证书相关的各种错误,但在将curl.cainfo="c:\xampp\htdocs\login\cacert.pem"添加到我的php.ini文件后,我相信我已经解决了这些问题,因为我没有收到错误,但我仍未获得成功的登录回复。

作为流程的一部分,我需要将cookie传递给服务器, 存在。 echo $strCookie会返回正确的Cookie数据,因此我不会认为它是。

$searchURL = "https://url.com/valid?";

$ch = curl_init();             
curl_setopt($ch, CURLOPT_URL, $searchURL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);   
$strCookie = 'testcookie=' . $_COOKIE['testcookie'] . '; path=/';    
curl_setopt( $ch, CURLOPT_COOKIE, $strCookie ); 
curl_setopt($ch, CURLOPT_CAPATH, "\cacert.pem");
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);

    if($answer = curl_exec($ch))
{
    echo "<pre>";
    print_r($answer);
    echo "</pre>";
}
else
{    
    echo "<pre>";
    echo 'Curl error: ' . curl_error($ch);
    echo "</pre>";
}

如果我将网址放入我的浏览器(url.com/valid?),我会回来boolean = true,因此我知道我已登录。但是,此脚本正在返回boolean = false而我不能找出原因。

以下是标题:

TTP/1.1 200 OK
Date: Mon, 09 Nov 2015 21:33:16 GMT
Cache-Control: no-store, no-cache, must-revalidate, max-age=0
Pragma: no-cache
Content-Length: 14
Content-Type: text/plain; charset=UTF-8
X-Powered-By: Servlet/2.5 JSP/2.1
Set-Cookie: amlbcookie=01; domain=.****.com; path=/
Vary: User-Agent,Accept-Encoding

我对Set-Cookie: amlbcookie=01行感到困惑,因为我不确定该Cookie是什么。它与我从echo $strCookie获得的输出不匹配。

0 个答案:

没有答案