我有一个首先登录Twitter的脚本。如果我检查它,我会得到200
响应,但是在成功后我不会重定向到已登录的Twitter帐户,而是保留在同一页面上。
url = 'https://twitter.com/login/error?redirect_after_login=%2F'
r = requests.session()
# Need the headers below as so Twitter doesn't reject the request.
headers = {
'Host': "twitter.com",
'User-Agent': "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0",
'Accept': "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
'Accept-Language': "en-US,en;q=0.5",
'Accept-Encoding': "gzip, deflate, br",
'Referer': "https://twitter.com/login/error?redirect_after_login=%2F",
'Upgrade-Insecure-Requests': "1",
'Connection': "keep-alive"
}
login_data = {"session[username_or_email]":"Username", "session[password]":"Password"}
response = r.post(url, data=login_data, headers=headers, allow_redirects=True)
如果成功POST
请求登录状态,如何重定向到我的帐户?我没有使用正确的标题或类似的东西吗?我以前没有做过大量的网络内容,所以如果这是非常明显的话,我很抱歉。
注意:(我不能使用Twitter API来执行此操作)&引用者是错误页面,因为那是我登录的地方 - 除非我这样做是错的。
答案 0 :(得分:-1)
也许GET参数python -m spacy download en
将使用javascript或html元redirect_after_login
重定向而不是HTTP重定向,所以如果是这样的话,refresh
python模块将会没有正确处理。
因此,一旦从第一个请求中检索您的身份验证令牌,您就可以再次向requests
再次发出请求,而不必忘记从HTTP请求字段中指定您的安全令牌。您可以在此处找到有关Twitter的REST API的更多信息:https://dev.twitter.com/overview/api
但是python的乐趣在于拥有所有内容的库,所以我建议你看一下:
https://github.com/bear/python-twitter
它是一个与twitter的REST API进行通信的库。