无法使用python POST请求登录网站

时间:2021-03-21 16:31:50

标签: post python-requests

我正在尝试使用来自 python 的 POST 请求登录 https://www.oreilly.com/member/login,但无法登录。

我正在使用以下代码片段。

# Get input for amount of change
change = int(input())

# If change is less than 1, print 'No change'
if change < 1:
    print('No change')

# If change is over 199, subtract and print 'X Dollars'
elif change > 199:
    print(change // 100, 'Dollars\n')
    change = change % 100

# If change is 100-199, subtract and print '1 Dollar'
elif 99 < change <= 199:
    print('1 Dollar\n')
    change = change % 100

# If remaining change is 50-99, subtract and print 'X Quarters'
elif 49 < change <= 99:
    print(change // 25, 'Quarters\n')
    change = change % 25

# If remaining change is 25-49, subtract and print '1 Quarter'
elif 24 < change <= 49:
    print('1 Quarter\n')
    change = change % 25

# If remaining change is 25, print '1 Quarter' and set change to 0
elif change == 25:
    print('1 Quarter')
    change = 0

# If remaining change is 20-24, subtract and print '2 Dimes'
elif 19 < change <= 24:
    print('2 Dimes\n')
    change = change % 10

# If remaining change is 10, print '1 Dime' and set change to 0
elif change == 10:
    print('1 Dime')
    change = 0

# If remaining change is 5-9, subtract and print '1 Nickel'
elif 4 < change <= 9:
    print('1 Nickel\n')
    change = change % 5

# If remaining change is 2-4, subtract and print 'X Pennies'
elif 1 < change <= 4:
    print(change // 1, 'Pennies')
    change = change % 1

# If remaining change is 1, print '1 Penny' and set change to 0
elif change == 1:
    print('1 Penny')
    change = 0

这给出了以下响应。

import requests;  session = requests.session(); response = session.post('https://www.oreilly.com/member/login',data={"email":'my_email_id',"pas
...: sword":'my_password'})

response <Response [404]>;

请帮忙。非常感谢!!

1 个答案:

答案 0 :(得分:0)

您使用了 data 而不是 json,而且您使用的登录网址是错误的。这是我的代码:

import requests

login_url = "https://www.oreilly.com/member/auth/login/"

payload = {
    "email": "your_email",
    "password": "your_password"
}

headers_ = {
"Content-Type": "application/json"
}

r = requests.post(login_url, json=payload, headers=headers_)

print(r.text)