Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.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/3/xpath/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
C++ 查找正文是否包含gzip数据_C++_Curl_Gzip - Fatal编程技术网

C++ 查找正文是否包含gzip数据

C++ 查找正文是否包含gzip数据,c++,curl,gzip,C++,Curl,Gzip,我有一个程序,它从curl请求中搜索特定字符串的回复。我有时会得到压缩的数据。有没有办法确定回复是文本格式还是gzip格式? 标题有时包含gzilipped、deflate标题,但不一致。有没有办法搜索字符串并找到它是否已压缩?您可以尝试查看前两个字节的数据。对于gzip数据 您可以尝试查看前两个字节的数据。对于gzip数据 gzip文件格式以一些“魔法字节”开头。您可以检查正文是否以这些开头,如果是,则将字节推回到流中并开始解压缩。gzip文件格式以一些“神奇字节”开头。您可以检查正文是否以这

我有一个程序,它从curl请求中搜索特定字符串的回复。我有时会得到压缩的数据。有没有办法确定回复是文本格式还是gzip格式?
标题有时包含gzilipped、deflate标题,但不一致。有没有办法搜索字符串并找到它是否已压缩?

您可以尝试查看前两个字节的数据。对于gzip数据


您可以尝试查看前两个字节的数据。对于gzip数据


gzip文件格式以一些“魔法字节”开头。您可以检查正文是否以这些开头,如果是,则将字节推回到流中并开始解压缩。

gzip文件格式以一些“神奇字节”开头。您可以检查正文是否以这些开头,如果以这些开头,则将字节推回到流中并开始解压缩。

您可以查看文件的第一个字节。也许它们包含一个。

您可以查看文件的第一个字节。也许它们包含一个。

您可以通过zcat对其进行管道传输,如果失败,请按原样使用字符串。我知道它很邋遢,但它应该是可靠的;纯文本文件永远不会包含有效的gzip数据。

您可以通过zcat对其进行管道传输,如果失败,请按原样使用字符串。我知道它很邋遢,但它应该是可靠的;纯文本文件永远不会包含有效的gzip数据。

符合标准的HTTP响应将包含一个Content-Encoding:或Transfer-Encoding:头,为压缩响应指定“gzip”,无需通过查看幻数进行猜测。不幸的是,许多网站的这些标题都是错误的。

符合标准的HTTP响应将包含一个Content-Encoding:或Transfer-Encoding:标题,为压缩响应指定“gzip”,从而消除了通过查看幻数进行猜测的需要。不幸的是,许多网站的这些标题都是错误的。

回复保存在字符串中。那么如何继续呢?如果(字符串[0]==0x1f&&string[1]==0x8b){blah blah blah;}很抱歉回复太晚,但当我尝试这样做时,它不匹配。当我打印字符串时,它包含所有难以辨认的语言或符号,但前两个字母C和W除外。。那么我如何从这里开始呢?答案保存在一个字符串中。那么如何继续呢?如果(字符串[0]==0x1f&&string[1]==0x8b){blah blah blah;}很抱歉回复太晚,但当我尝试这样做时,它不匹配。当我打印字符串时,它包含所有难以辨认的语言或符号,但前两个字母C和W除外。。那么我如何从这里开始呢?
Member header and trailer

ID1 (IDentification 1)
ID2 (IDentification 2)
These have the fixed values ID1 = 31 (0x1f, \037), ID2 = 139 (0x8b, \213),
to identify the file as being in gzip format.