По какой-то причине у меня возникают проблемы с настройкой личной учетной записи с помощью простого http-запроса.Я могу нормально редактировать профиль, но когда я отправляю запрос на установление приватности моей учетной записи, он выдает мне 200 кодов состояния вместе с сообщением об успешном ответе, но при проверке моего профиля учетная запись не является приватной ...
Вот мой код:
import requests
import json
class IGWebAPI:
def __init__(self, username, password, user_agent):
self.session = requests.Session()
self.username = username
self.password = password
self.user_agent = user_agent
self.login()
def login(self):
self.session.headers = {'user-agent': self.user_agent}
self.session.get('https://www.instagram.com/accounts/login/ajax/')
self.session.headers.update({'Referer': 'https://www.instagram.com/accounts/login/', 'x-csrftoken': self.session.cookies['csrftoken']})
self.session.post('https://www.instagram.com/accounts/login/ajax/', data={'username': self.username, 'password': self.password, 'queryParams' : r'{}'}, allow_redirects=True)
self.session.headers.update({'x-csrftoken': self.session.cookies['csrftoken']})
def make_profile_private(self):
self.session.get('https://www.instagram.com/accounts/privacy_and_security/')
self.session.headers.update(
{'Referer' :'https://www.instagram.com/accounts/privacy_and_security/'})
a = self.session.post(
'https://www.instagram.com/accounts/set_private/',
data = {
'is_private' : True
}
)
print(a.text)
username = ''
password = ''
user_agent = 'Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1'
api = IGWebAPI(username, password, user_agent)
api.make_profile_private()
РЕДАКТИРОВАТЬ: пришлось добавить строку для обновления заголовков с токеном csrf.