Api 返回奇怪的响应

Api returning odd response

好的,我正在使用套接字从 Instagram 接收数据。我已经为此工作了大约一天,而且这种情况一直在发生,经过大约 3 个小时的尝试后我无法修复它。我无法显示 header 信息,因为它有可用于冒充我的 cookie,但我可以显示数据响应,因为我知道它应该是什么,它只是一堆十六进制,具体如下:

\x8b\x08\x00\x8b\x10\xa6^\x02\xff\xe5\x94_k\xdb0\x14\xc5\xbf\x8a\xd1s\x9bX\x8e\x1d\xc7\x860J\xe9\x06cO{\x18\x83m\d\xf9\xdaV\xabH\x9et\xe5\xb4\x94~\xf7!'i\xd3nc\x1f`\x8f>:\xfaw~G~d\xc1\xa3cu\xf2\xc8\xc6;V'\xeb\x82Wiz\x91\xcc\xb2\x11;du\xc2\xa4\xbdC\x8d\xde\xb3\x8b\x84uAk8\rDAy\x18\x9d\x9a\x04E\x85\\xc0\x8b\x84\x8d\xcevJ#\x8cJBp:Z\x07\xa2\xd1\xd7\xcb\xa52\x9eD\xef\xc4n\xd15F\xf0K\xbe\xe8\x8cXt\x8dl\xcd\xc2 -\xa7%\x15|\x91m6\xc5%\xaf\x96\x9cg\xf9&\xdb\xa4\xc0\xcb\x92\xf3\x92\xaf\xf3\xaa,\xd7\xab\xbc\x04\x9e\x96\xe5\xaa\xe2i\x9a\x83X\xdc\x8e\xfd;0\x12\x06\xda\xfec\xfd\xef!M\xb3u\xf4\xdaAn\xaf>|l?\x7f\xba\xedsws\xf5\xb5\xd2?\x87\xec\xcb\xc1`\x87mV\xa4\xab\V(\xaa&\xe59\xef\xd2\x8d\xe4E\x9ea\x85U\xd6n:q4\xe2\xb6\xb8\xb9\xbe\xb9.V\xef\x8faL\xe8T\xa7\xb0eu\xd2\t\xedc\x1c\x83\xf0 \x8c5\x0f;\x1bbZ\xcf\xe1Ppx\xe6\xdba\xab\x04H\x1b\x0c\xb1:\x89\x14:\xab\xb5\xdd\xa3\xfb\x83\xa8L\xff\x17\x95\xc4\xeb\x91F\xd9\xde\x89qx8!{\x16`\xafh

我知道这不是我的代码,因为它正在重新调整 200 ok,并给我有效的 headers。我无法将此文本从十六进制转换为文本。它只是给我随机字符或奇怪的字符。有什么理由吗?我使用的是 ssl 套接字,端点是:I.instagram.com/api/v1/users/username goes here/usernameinfo/ 这是一个获取请求。我得到不可转换的十六进制有什么原因吗?

这似乎是 GZIP-compressed 数据,缺少第一个字节,我预计是 1F。这是一个有根据的猜测,因为 1F 8B 08 是 GZIP 的 header,意外的压缩通常是这种意外的来源。

检查响应中的Content-Encoding header,我打赌它是gzip

您可以尝试发送请求 header Accept-Encoding: identity 来说明您接受的唯一编码是 identity(根本没有编码)。网络服务器可能会忽略这一点,在这种情况下你必须 decompress the response yourself.