我正在尝试使用来自 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]>;
请帮忙。非常感谢!!
答案 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)