一尘不染

无法使用cURL连接到HTTPS网站。而是返回0长度的内容。我能做什么?

php

我有一个网站,使用cURL(最新版本)连接到安全网关进行付款。

问题是cURL总是返回0长度的内容。我只有标题。并且仅当我将cURL设置为返回标头时。我有以下标志。

curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_URL, $gatewayURI);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_POST, 1);

返回的标头是

HTTP/1.1 100 Continue

HTTP/1.1 200 OK
Date: Tue, 25 Nov 2008 01:08:34 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Content-Length: 0
Content-Type: text/html
Set-Cookie: ASPSESSIONIDxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx; path=/
Cache-control: private

我也尝试过cURL’ing不同的网站,他们返回的内容很好。我认为问题可能与https连接有关。

我已经与公司交谈过,他们没有帮助。

还有其他人遇到此错误并知道解决方法吗?我应该抛弃cURL并尝试使用fsockopen()吗?

谢谢。:)


阅读 374

收藏
2020-05-26

共1个答案

一尘不染

您还应该尝试检查curl_error()中的错误消息。在每个curl_ *函数之后,您可能需要执行一次此操作。

2020-05-26