我迷路了:)
目标是登录使用OAuth2的网站。但是,我需要运行的部分没有与之关联的API。所以我需要登录,只需使用用户名和密码,然后导航到相关页面并进行屏幕抓取以获取我的数据。
我确定问题不在他坐在这个键盘上的网站上。但我已经搜索了一些例子,并尝试了一大堆猜测,但没有任何工作
非常感谢帮助。
import sys
import requests
import oauth2 as oauth
r = requests.get(logon_url)
consumer = oauth.Consumer(key=user, secret=password)
client = oauth.Client(consumer)
resp, content = client.request(r.url, "GET")
token_url = resp['content-location']
# At this point i'm lost i'm just guessing on the rest
# the next doesn't give an error but i'm sure it's wrong
resp2, content2 = client.request(token_url, 'GET')
# save the cookie, i do have a cookie but not sure what i have
auth_token = resp['set-cookie']
答案 0 :(得分:1)
像许多事情一样,它只是一个用户错误
让我进入页面的代码非常简单。以下代码可以解决问题。感谢Furas指针。
with requests.session() as s1:
# get login form
r = s1.get(logon_url)
# post the username and password
resp = s1.post(r.url,data=payload)
# get the admin page
resp2 = s1.get(page_url)