Во-первых, уже есть вопросы к этой теме, но ни один из них не покрывает мою проблему полностью, потому что это либо не те данные, которые мне нужны, либо они не работают должным образом.
Существуют такие службы, как InstaDP, которые могутчтобы показать вам HQ версию любой аватарки из Instagram.Интересно, как это возможно?
Я провел некоторое исследование и смог найти URL более высокого качества при доступе к https://www.instagram.com/instagramforbusiness/?__a=1 (см. profile_pic_url_hd
, ответ здесь ).Однако у InstaDP, похоже, есть бэкэнд, который возвращает другой URL, который перенаправляет на более качественное изображение: https://instadp -cors-222621.appspot.com / get-hd? Id = 1107766105 (см. Наhd_profile_pic_url_info
, я извлек идентификатор для URL из результата ссылки ?__a=1
).Я проверил это с помощью своего личного профиля и смог получить изображение самого себя в выдающемся качестве 1024x1024.Однако ссылка ?__a=1
, кажется, только возвращает ссылку на мое изображение профиля в формате 320x320.
Поскольку InstaDP, по-видимому, не единственный игрок, способный получать изображения профиля HQ, я пошел дальше и сравнил бэкэнды.из этих игроков.Похоже, что у каждой службы свой URL-адрес к изображению профиля HQ той же учетной записи Instagram.Итак, я пришел к выводу, что во всем этом участвует Instagram API.
Итак, я создал ключ клиента на https://www.instagram.com/developer/.. Я также смог получить свой токен авторизации и определить мой логин csrftoken дляX-CSRFToken
заголовок.Теперь мой вопрос: как продолжить?
Я нашел несколько ответов на эту тему, заявив, что я должен запросить https://i.instagram.com/api/v1/users/1107766105/info/,, но он всегда возвращает страницу входа в виде HTML.
Я попробовал REST-клиент, который использует мои файлы cookie Chrome и вошел в Instagram раньше, я попытался установить заголовки HTTP на X-CSRFToken:<mycookietoken>
и Content-Type:application/json
.(Если я не установил CSRFToken
, это приводит к ошибкам, поэтому мне нужно добавить его, но если заголовок установлен, я снова получаю HTML, даже когда CSRFToken
верен. Я не получаю ошибку, когдаCSRFToken
не так.)
Я также попытался настроить Origin
, Referer
и Host
, чтобы обмануть Instagram, полагая, что запрос пришел из его собственного расположения окна, но не повезло.Установка Host
даже вызовет 400 неправильных запросов.Даже добавление моего токена доступа в URL не имело никакого эффекта (?access-token=########
).
Подводя итог моему вопросу, как эти службы получают изображения профиля в таком отличном качестве, вплоть до 1024x1024 от cdninstagram
сервера?