API возвращает странный ответ - PullRequest
1 голос
/ 27 апреля 2020

Хорошо, я использую сокеты для получения данных от Instagram. Я работаю над этим около дня, и это продолжает происходить, и я не могу это исправить после 3 часов попыток. Я не могу показать информацию заголовка, так как в ней есть файлы 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 и дает мне действительные заголовки. Я не могу преобразовать этот текст из шестнадцатеричного в текст. Это просто дает мне случайные символы или странные символы. Есть ли причина? Я использую сокет ssl и конечная точка: I.instagram.com/api/v1/users/username goes here/usernameinfo/ И это требование получения. По какой причине я получаю шестнадцатеричное число, которое не конвертируется?

1 Ответ

1 голос
/ 27 апреля 2020

Это похоже на сжатые GZIP данные с отсутствующим первым байтом, который я бы ожидал равным 1F. Это обоснованное предположение, потому что 1F 8B 08 является заголовком GZIP, а неожиданное сжатие часто является источником такого рода сюрпризов.

Проверьте заголовок Content-Encoding в ответе, держу пари, что это gzip .

Вы можете попробовать отправить заголовок запроса Accept-Encoding: identity, чтобы сказать, что единственная кодировка, которую вы принимаете, это identity (которая вообще не кодируется). Возможно, веб-сервер игнорирует это, хотя в этом случае вам придется самостоятельно распаковать ответ .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...