【发布时间】:2023-03-10 01:05:01
【问题描述】:
我对来自实时服务器的 cURL 请求有疑问。我已经看到了这个url,但没有得到那个解决方案。
尝试请求本地 URL,而不是花费 562 毫秒。
但相同的代码需要 1.1 分钟的实时 URL。
以下是curl_getinfo($cSession) 的详细信息:
Array
(
[url] => http://***.***.**.**
[content_type] =>
[http_code] => 0
[header_size] => 0
[request_size] => 0
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 62.261039
[namelookup_time] => 0.000148
[connect_time] => 0
[pretransfer_time] => 0
[size_upload] => 0
[size_download] => 0
[speed_download] => 0
[speed_upload] => 0
[download_content_length] => -1
[upload_content_length] => -1
[starttransfer_time] => 0
[redirect_time] => 0
[certinfo] => Array
(
)
[primary_ip] =>
[primary_port] => 0
[local_ip] =>
[local_port] => 0
[redirect_url] =>
)
下面我正在使用代码:
$cSession = curl_init();
//step2
curl_setopt($cSession, CURLOPT_URL,"$url");
curl_setopt($cSession, CURLOPT_RETURNTRANSFER, true);
// curl_setopt($cSession, CURLOPT_HEADER, false);
curl_setopt($cSession, CURLOPT_ENCODING, 'gzip');
//step3
$result=curl_exec($cSession);
$cinfo = curl_getinfo($cSession);
//step4
curl_close($cSession);
//step5, result of curl
// echo $result;
print_r($cinfo);
谁能帮帮我,我失败了。
【问题讨论】:
-
一般来说,你不应该强制gzip。首先,如果 curl 未在启用 gzip 的情况下编译,并且服务器选择使用 gzip,您将获得损坏的下载。其次,如果以后curl内置了更好的算法,就不会使用了,如果服务器支持DEFLATE但不支持gzip(通常内置DEFLATE),你的下载会比较慢。只需给 CURLOPT_ENCODING 一个空字符串,curl 将列出所有支持的编码,服务器将选择它认为最适合的编码。仅在您不同意服务器的边缘情况优化场景中,您可能需要强制 gzip