Emr*_*mre 0 python python-requests
你好,我正在尝试用 python 请求做一个项目。但是当我尝试登录 instagram 时,我变成了这样:
** 绑定方法Response.json of Response [400] **
我的代码:
import os
import requests
import getpass
import json
import io
import time
X_SECOND = 2
BASE_URL = "https://www.instagram.com/"
LOGIN_URL = BASE_URL + "accounts/login/ajax/"
USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; ) Gecko/20100101 Firefox/65.0"
CHANGE_URL = "https://www.instagram.com/accounts/web_change_profile_picture/"
CHNAGE_DATA = {"Content-Disposition": "form-data", "name": "profile_pic",
"filename": "profilepic.jpg", "Content-Type": "image/jpeg"}
headers = {
"Host": "www.instagram.com",
"Accept": "*/*",
"Accept-Language": "en-US,en;q=0.5",
"Accept-Encoding": "gzip, deflate, br",
"Referer": "https://www.instagram.com/accounts/edit/",
"X-IG-App-ID": "936619743392459",
"X-Requested-With": "XMLHttpRequest",
"DNT": "1",
"Connection": "keep-alive",
}
session = requests.Session()
session.headers = {'user-agent': USER_AGENT, 'Referer': BASE_URL}
def login():
USERNAME = str(input('Username > '))
PASSWD = getpass.getpass('Password > ')
resp = session.get(BASE_URL)
session.headers.update({'X-CSRFToken': resp.cookies['csrftoken']})
login_data = {'username': USERNAME, 'password': PASSWD}
login_resp = session.post(LOGIN_URL, data=login_data, allow_redirects=True)
session.headers.update({'X-CSRFToken': resp.cookies['csrftoken']})
if login_resp.json()['authenticated']:
print("Login successful")
else:
print("Login failed!")
login()
# print(login.json())
session.headers.update({'X-CSRFToken': login_resp.cookies['csrftoken']})
Run Code Online (Sandbox Code Playgroud)
我认为问题不在于我的代码。
小智 5
尝试使用 enc_password。更改您的登录数据,例如:
str_time = str(int(time.time()))
PASSWORD = '#PWD_INSTAGRAM_BROWSER:0:' + str_time + ':' + PASSWD
login_data = {'username': USERNAME, 'enc_password': PASSWORD}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
857 次 |
| 最近记录: |