1
我在写代码尝试使用请求模块获得从网络服务器饼干,但得到的cookie什么让我感到困惑的是:Python的请求模块不响应
- 我看到的时候我测试使用邮递员返回饼干 - REST客户端
- 我在发送的请求中没有发送任何cookie,但是令我惊讶的是可以在发送的请求中找到我想要的cookie。
我想获取cookie数据,我可以在代码中使用它来请求另一个应用程序。
以下是我的代码:
import requests
import urllib3.contrib.pyopenssl
urllib3.contrib.pyopenssl.inject_into_urllib3()
username = 'user123' # real username/password not showing
password = '1234567'
login_data = {'id':username, 'pass_word':password, 'action': 'login'}
r = requests.post("www.example.com/login/", data=login_data)
print r.cookies
print r.request.header['Cookie']
输出:
<<class 'requests.cookies.RequestsCookieJar'>[]> # why nothing??
{'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'User-Agent': 'python-requests/2.6.0 CPython/2.7.6 Darwin/14.1.0', 'Connection': 'keep-alive', 'Cookie': 'blahblahblahblah', 'Content-Type': 'application/x-www-form-urlencoded'}
机密的原因,我不能在这里展示我真正的cookies数据,但我看到它在我的发送请求,怎么来的?我没有告诉它在我的请求中发送它,这是我期望从响应cookie获得的数据,但是它显示为没有。
感谢您的信息。这是我写的所有代码,服务器是否可以将cookie放入发送请求而不是响应中?因为我期望得到回应。 – 2015-04-02 19:28:44
@MaxLin不,由于发送的cookies仅由发送请求代码处理,所以我不认为交叉污染是可能的。这是否发生在对其他服务器的请求中? – matsjoyce 2015-04-02 21:01:14