我正在尝试进行自动化,通过Instagram API发送http请求以跟踪或取消关注用户,现在我正在使用Python请求模块,我试图通过网站'{{ 3}}”。我目前的代码是:
import requests
from requests.auth import HTTPBasicAuth
s = requests.Session()
s.get('http://pikore.com')
print(s.cookies)
s.get('http://www.pikore.com/session/new?from=%2F', auth=HTTPBasicAuth('USERNAME', 'USERSECRET'))
pikore_session = s.cookies['_pikore_session']
print(s.cookies)
s.get('http://pikore.com')
print(s.cookies)
cookies = {
'_pikore_session': pikore_session,
'token': 'BAhJIjcyNTY5NDczOTIuZWIxM2FlYi41Mjc3ZTI4NjI4ZDM0NDRlOGRjNWNjZmFjNWU3YmJmYgY6BkVU--9b52c6305368f28c83ffc288e9d55e94b3e864db',
}
headers = {
'Host': 'www.pikore.com',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0',
'Referer': 'http://www.pikore.com/nike',
}
print(s.get('http://www.pikore.com/follow/13460080', headers=headers, cookies=cookies))
s.get('http://www.pikore.com/')
print(s.cookies)
所以这可以并且将执行给定的请求,唯一的是,授权行只会获得'_pikore_session'cookie,而不是我想要的令牌cookie。 通过Instagram授权重定向登录后,它将重定向您三次,然后最终您将登陆网站,登录,但在第三次重定向,我可以看到它输出'令牌'响应cookie,我希望有人得到这个,这样我就不必每次都去手动了。
答案 0 :(得分:6)
我今天试图解决这个问题并发现a relevant bug in requests。
使用JohnCC330关闭auto_redirect
的解决方案为我工作:
res = requests.post(
host,
data={'somefield':'my value'},
allow_redirects=False)
if res.status_code == 302: # expected here
jar = res.cookies
redirect_URL2 = res.headers['Location']
res2 = requests.get(redirect_URL2, cookies=jar)
# res2 is made with cookies collected during res' 302 redirect
希望这有帮助,
鲍勃