【PHP】Curl POST 请求超时,返回错误信息:empty reply from server

最近做一个爬虫项目,需要curl请求第三方系统,其中一个请求放到postman的时候秒回,代码curl请超时,打印错误信息:empty reply from server

翻阅网上资料无果,只能用排除法,去掉请求的一些配置看是哪里影响了,最后发现去掉post data 后请求秒回,虽然返回的是请求失败,但是问题就错在Post data上面了

感觉观察发现请求的数据比以往的参数要大,猜测是POST数据过大,再次翻阅资料,以下方法可以解决(注意是在原来的头部信息中添加一个请求头):

在使用phpcurl post数据的时候,当数据超过1k的时候,会失败,不会直接发起请求,而是分为两步:

一,发送一个请求,包含“Expect:100-continue”头域,询问SERVER是否愿意接收

二,接收到SERVER返回的 100-continue应答以后,才可以继续POST数据

解决办法:

添加curl请求头

curl_setopt($ch,CURLOPT_HTTPHEADER,array(“Expect:”));

posted @ 2021-05-12 14:58  蓝色星辰1993  阅读(3024)  评论(0编辑  收藏  举报