前段时间做了一个项目,里面用到了快递查询接口。用的php 的curl post请求,发现此请求非常慢,效率非常低,就很恼火。还以为是快递接口那边的问题,试了下快递自己的请求非常快。于是研究了一波发现了一个解决办法,记录一下:
原本的请求是这样的,效率非常慢
//发送post请求
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
$data = json_decode($result,true);
这样就得添加curl请求参数了:
- 强制协议为1.0
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
- 强制使用IPV4协议解析域名
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );
完满解决问题

在PHP中使用cURL进行快递查询接口请求时遇到效率低下问题。通过设置cURL选项,强制使用HTTP 1.0协议和IPv4解析,成功解决了请求慢的问题。添加`curl_setopt($ch,CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_0);`和`curl_setopt($ch,CURLOPT_IPRESOLVE,CURL_IPRESOLVE_V4);`两行代码后,显著提高了请求速度。


被折叠的 条评论
为什么被折叠?



