二次开发hue时, 需要自己开发后台程序做hue的登陆代理, 省去用户自己输入hue用户名密码的过程. 在python用用户名+密码请求请求hue登陆接口时, 预期能拿到cookie(获得cookie后设置response到用户浏览器cookie里), 但发现请求hue登陆接口的response里并没有cookie
排查过程:
1. 用命令curl -v 'http://***' -H 'Content-Type: application/x-www-form-urlencoded' --data '***' 可以拿到
2. 对比curl和python requests, 返回status code不一样, curl返回301 python requests返回200
所以是python requests自动重定向了, 且重定向后的返回没有cookie
解决:
requests.post添加参数 allow_redirects=False 禁止自动重定向
response = requests.post("http://***", data=params, headers=headers, allow_redirects=False)