Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP cURL返回加密的html页面_Php_Url_Curl_Request_Php Curl - Fatal编程技术网

PHP cURL返回加密的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

我正在尝试从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_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);//返回“”在文章中包含图像。所以我们可以看到它。