如何在PHP的curl函数中包含“压缩”参数?

问题描述 投票:2回答:1

与浏览器使用CURL和PHP发出请求时完全一样,当以Curl(cmd)复制时,我看到此标头:

curl "https://www.w3schools.com/js/ajax_info.txt" 
-H "Sec-Fetch-Mode: cors" 
-H "referer: https://www.w3schools.com/js/tryit.asp?filename=tryjs_ajax_first" 
-H "Origin: https://www.w3schools.com" 
-H "user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36"  
-H "dnt: 1" 
--compressed

我有一些代码,但是我需要更多选择,例如“ --compressed”部分,我不知道如何应要求包含它

<?php

$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, 'https://www.w3schools.com/js/ajax_info.txt');

$data = curl_exec($ch);
curl_close($ch);
return $data;

?>

我看不到结果,因为是标题

php libcurl php-curl
1个回答
0
投票

您设置了CURLOPT_ENCODING选项并要求使用特定的编码(压缩方法),或者让curl本身请求其知道的编码。除非您有特殊知识,否则让curl询问其支持什么通常会获得最佳效果。

curl_setopt($ch, CURLOPT_ENCODING, '');

请注意,注释中提到的纯净curl-to-php service对此有效,但将生成具有一组固定方法的非最佳版本。我已经为此提交了单独的bug report

此选项在底层libcurl中称为CURLOPT_ACCEPT_ENCODING,因为它在多年前已被重命名。

© www.soinside.com 2019 - 2024. All rights reserved.