Python请求:如何从302重定向获取响应Cookie

Ful*_*men 4 cookies redirect curl python-3.x python-requests

我正在尝试进行自动化,该过程将通过instagram api发送http请求来关注或取消关注用户,现在我正在使用Python Requests模块,而我正在尝试通过网站' http:// pikore .com '。我当前的代码是:

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)
Run Code Online (Sandbox Code Playgroud)

这样就可以了,它将执行给定的请求,唯一的是,授权行将仅获取“ _pikore_session” cookie,而不会获取我想要获取的令牌cookie。通过instagram授权重定向登录后,它将重定向您3次,最后您将登陆网站并登录,但是在第三个重定向上,我可以看到它输出了“令牌”响应cookie,希望有人得到它,这样我就不必每次手动去获得它。

Bob*_*bRz 7

我今天试图解决此问题,并在请求中发现了相关的错误

使用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
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助,

鲍勃