Instagram python запрашивает вход без API - PullRequest
0 голосов
/ 25 апреля 2018

Я пытаюсь войти в Instagram без использования API, но получаю ответ 403?Учетные данные верны, но все еще получают ответ.Любая помощь по этому вопросу?

import requests

main_url = 'https://www.instagram.com/'
login_url = main_url+'accounts/login/'
user_agent = 'User-Agent: Mozilla/5.0 (iPad; CPU OS 6_0_1 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A523 Safari/8536.25'

session = requests.session()
session.headers = {"user-agent": user_agent}
session.headers.update({'Referer': main_url})

req = session.get(main_url)
session.headers.update({'set-cookie': req.cookies['csrftoken']})
print(req.cookies['csrftoken'])
print(req.status_code)

login_data = {"username": "<user>", "password": "<pass>"}


login = session.post(login_url, data=login_data, allow_redirects=True)
print(login.cookies['csrftoken'])
print(login.status_code)
session.headers.update({'set-cookie': login.cookies['csrftoken']})

cookies = login.cookies

print(login.headers)
print(login.status_code)

1 Ответ

0 голосов
/ 25 апреля 2018

RFC 7231 гласит следующее:

403 Запрещено

Код состояния 403 (Запрещено) указывает, что сервер понял запрос, но отказывается авторизовать его. Сервер, который хочет обнародовать, почему запрос был запрещен может описать это причина в ответе полезной нагрузки (если есть).

Если в запросе были указаны учетные данные для аутентификации, сервер считает их недостаточными для предоставления доступа . Клиент НЕ ДОЛЖЕН автоматически повторять запрос с тем же полномочия. Клиент МОЖЕТ повторить запрос с новым или другим полномочия. Тем не менее, запрос может быть запрещен по причинам не связанные с полномочиями.

Похоже, сервер не позволит вам получить доступ к нужным данным без использования официального API.

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