PHP cURL返回加密的html页面
我正在尝试从PHP上的cURL get请求获取简单的html代码。PHP cURL返回加密的html页面,php,url,curl,request,php-curl,Php,Url,Curl,Request,Php Curl,我正在尝试从PHP上的cURL get请求获取简单的html代码。 url上的默认get请求,如(不完全是此域),返回我需要的html代码,但此域页面上的get请求,如返回gzip加密数据或其他内容。 我已尝试解决此问题的方法: curl_setopt(ch, CURLOPT_ENCODING, ''); // returns '' curl_setopt(ch, CURLOPT_ENCODING, 'gzip'); // returns '' curl_setopt(ch, CURLOPT_E
url上的默认get请求,如(不完全是此域),返回我需要的html代码,但此域页面上的get请求,如返回gzip加密数据或其他内容。
我已尝试解决此问题的方法:
curl_setopt(ch, CURLOPT_ENCODING, ''); // returns ''
curl_setopt(ch, CURLOPT_ENCODING, 'gzip'); // returns ''
curl_setopt(ch, CURLOPT_ENCODING, 'gzip,compressed'); // returns ''
$html = gzdecode($data); // data error
顺便说一句,在inspector上,如Fiddler,此页面返回类似的wierd符号,但只需单击一下即可修复:“单击以解密”。如何使用PHP以编程方式解密数据?如果我很了解您,您需要从url获取HTML格式的内容 请检查此链接: 您不需要在curl_setopt中使用CURLOPT_编码 编辑 我试过这个,效果很好:
<?php
function get_data($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$html_content = get_data('https://stackoverflow.com/questions/61548866/php-curl-returns-encrypted-html-page/61549219?noredirect=1#comment108875034_61549219');
echo "You are getting HTML code from an url <br>".$html_content;
?>
谢谢,希望能对您有所帮助。这能回答您的问题吗?如何在php cURL库中使用'--compressed'标志?从终端运行
$cURL-o response.txt-D header.txthttp://example.com/something
-(这将获取页面并将响应标题保存到header.txt
)-然后添加响应标题更新您的问题。了解响应是如何压缩/编码的可能很有用。我不知道Fiddler中有任何单击以解密按钮-有一个单击以解码-按钮,但是,您的意思是单击以解码?$html=htmlspecialchars($data);//返回“”在文章中包含图像。所以我们可以看到它。