我正在对我们的内部服务器进行简单的HTTP请求身份验证,将cookie恢复,然后点击Cassandra RESTful服务器来获取数据。在返回cookie时,requests.get()会阻塞。
我有一个成功提取数据的curl脚本,我宁愿使用纯python中的响应JSON数据。
下面我做错了什么线索?我把饼干丢弃了,它看起来很好,非常类似于我的卷曲饼干。
克雷格
import requests
import rtim
# this makes the auth and gets the cookie returned, save the cookie
myAuth = requests.get(rtim.rcas_auth_url, auth=(rtim.username, rtim.password),verify=False)
print myAuth.status_code
authCookie=myAuth.headers['set-cookie']
IXhost='xInternalHostName.com:9990'
mylink='http:/%s/v1/BONDISSUE?format=JSONARRAY&issue.isin=%s' % (IXhost, 'US3133XK4V44')
# chokes on next line .... doesn't like the Cookie format
r = requests.get(mylink, cookies=authCookie)
(Pdb) next
TypeError: 'string indices must be integers, not str'
答案 0 :(得分:0)
我认为问题出在最后一行:
r = requests.get(mylink, cookies=authCookie)
请求假定cookies
参数是字典,但您将字符串对象authCookie
传递给它。
当请求尝试将字符串authCookie
视为字典时,异常会引发。