当前位置: 首页 > 面试题库 >

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

夏俊人
2023-03-14
问题内容

我有一个网站,使用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()吗?

谢谢。:)


问题答案:

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



 类似资料:
  • 我正在经历升级我们的应用程序从JEE5/冰面1.8.2到JEE6/冰面3.3的摘录。我遵循了我在这里找到的材料:从JSF 1.2迁移到JSF 2.0以及提供的冰面:http://www.icesoft.org/wiki/display/ICE/ICEfaces1. x兼容性 所以现在我可以成功地将我们的应用程序部署到GlassFish 3。 以下是web.xml: 现在当我导航到 我被重定向到登录

  • 首先,我知道有很多类似的问题,但我所看到的似乎都不能解决我的设置(我发现的任何解决方案都不管用)。所以请容忍我。。。 我的服务器主机名是IP地址,而不是域名(即URL看起来像:) 我的服务器有一个真正的证书(即,没有自签名) 我的应用程序的plist条目字典为空(没有任何例外-出厂设置ATS) 这是生产代码,我不能禁用ATS(我也不认为我可以,因为例外只适用于显式域名,而不是IP地址) (iOS9

  • 我不熟悉Curl和Cacerts的世界,在连接到服务器时遇到了一个问题。基本上,我需要测试从一台机器到另一台机器的https连接。我有一个URL,我需要从机器a(linux机器)连接到它。我在命令提示符下尝试了这个方法 并得到以下结果: 在浏览互联网上的一些文章时,我这样做了: 并得到了一些响应,包括服务器证书(在)。 接下来我该怎么办。我想,我只需将文本复制粘贴到

  • 当用最大值70和最小值59测试该代码时,它返回1.0而不是0.5。我的公式错了吗?第二个if语句也是针对这些方向的:(public static double hdd(int max,int min),返回一天的hdd。如果max或min为-999(缺少),则返回0.0。如果max