如果使用 https 连接,则 cURL 为空请求数据

Posted

技术标签:

【中文标题】如果使用 https 连接,则 cURL 为空请求数据【英文标题】:cURL empty request data if https connection 【发布时间】:2017-03-05 15:31:15 【问题描述】:

我尝试通过 POST 发送文件。在此之前,我使用 http 连接,一切正常。但是现在我的 php 文件中的 var_dump($_REQUEST); 返回一个空数组。

这是我的 curl 日志:

$ curl -X POST -F "id=1" -F "file=@/tmp/file.txt" https://MY_DOMAIN/save_file.php -v

在 DNS 缓存中找不到主机名 正在尝试 MY_IP... 连接到 MY_DOMAIN (MY_IP) 端口 443 (#0) 成功设置证书验证位置: CAfile:无 CApath:/etc/ssl/certs SSLv3、TLS 握手、客户端问候 (1): SSLv3、TLS 握手、服务器问候 (2): SSLv3、TLS 握手、CERT (11): SSLv3、TLS 握手、服务器密钥交换 (12): SSLv3,TLS 握手,服务器完成 (14): SSLv3、TLS 握手、客户端密钥交换 (16): SSLv3,TLS 更改密码,客户端问候 (1): SSLv3,TLS 握手,完成 (20): SSLv3,TLS 更改密码,客户端问候 (1): SSLv3,TLS 握手,完成 (20): 使用 TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384 的 SSL 连接 服务器证书: 主题:C=RU; OU=已验证域控制; CN=MY_DOMAIN 开始日期:2015-12-30 14:29:37 GMT 有效期:2016-12-30 14:29:37 GMT subjectAltName:MY_DOMAIN 匹配 发行人:C=BE; O=GlobalSign nv-sa; CN=GlobalSign 域验证 CA - SHA256 - G2 SSL 证书验证正常。

POST /save_file.php HTTP/1.1 用户代理:curl/7.38.0 主机:MY_DOMAIN 接受:/ 内容长度:95611662 期望:100-继续 内容类型:multipart/form-data;边界=------------------------4cf633b06b612b7d

服务器 nginx/1.10.1 未列入黑名单 与主机 MY_DOMAIN 的连接 #0 保持不变

【问题讨论】:

【参考方案1】:

问题出在意外的地方:文件大小超过了允许的负载

【讨论】:

以上是关于如果使用 https 连接,则 cURL 为空请求数据的主要内容,如果未能解决你的问题,请参考以下文章

无法使用cURL连接到HTTPS站点怎么办

如果它们在 Python 中不为空,则连接多个字符串

用curl发起https请求

请问,使用ajax时,请求数据,如果返回为空,则继续请求,直到有结果,然后返回结果

多线程 curl 同时处理多个连接

php之curl实现http请求(支持GET和POST)