如何查看用python发送的cookies

2024-09-29 22:35:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望能够读取从请求发送的cookies,以便导入它们

import requests
URL = 'https://secure.net.wwe.com/enterworkflow.do?flowId=account.login'

Send = requests.get(URL)

print(Send.cookies.get_dict())

Desired Output:
>>>> cookies = {'test':'likethis'}

我了解如何查看设置的cookies,但没有关于如何查看随请求一起发送的cookies的明确解释


Tags: httpsimportcomsendurlgetnetaccount
1条回答
网友
1楼 · 发布于 2024-09-29 22:35:25

因此,从python请求的响应中获取cookie的方法是使用cookiejar

    >>> import requests
>>> URL = 'https://secure.net.wwe.com/enterworkflow.do?flowId=account.login'
>>>
>>> Send = requests.get(URL)
>>> Send.cookies
<RequestsCookieJar[Cookie(version=0, name='SESSION_1', value='wf_flowId%3D%3D%3Daccount.login%7Estage%3D%3D%3D3%7EflowId%3D%3D%3Daccount.login', port=None, port_specified=False, domain='.wwe.com', domain_specified=True, domain_initial_dot=True, path='/', path_specified=True, secure=False, expires=None, discard=True, comment=None, comment_url=None, rest={}, rfc2109=False)]>

要将此响应转换为dict,可以使用以下方法

>>> requests.utils.dict_from_cookiejar(Send.cookies)
{'SESSION_1': 'wf_flowId%3D%3D%3Daccount.login%7Estage%3D%3D%3D3%7EflowId%3D%3D%3Daccount.login'}

但是你问到你的请求中有哪些饼干…这让我很困惑,所以我决定潜入去看看能找到什么

通过创建会话并调用cookiejar方法,可以查看python在cookiejar中是否有任何cookie

>>> session = requests.Session()
>>> session.cookies
<RequestsCookieJar[]> //No Cookies?
>>> session.get(URL)
   <Response [200]>
>>> requests.utils.dict_from_cookiejar(session.cookies)
{'SESSION_1': 'wf_flowId%3D%3D%3Daccount.login%7Estage%3D%3D%3D3%7EflowId%3D%3D%3Daccount.login'} //Cookies!

或者打电话给厨师

>>> print requests.cookies.RequestsCookieJar()
<RequestsCookieJar[]>

所以这足以证明我没有收到饼干。好吧,cookies不会随请求一起发送。除非您明确设置它们。为了证明这一点,我通过打嗝套件运行了你的请求

>>> http = "http://127.0.0.1:8080"
>>> https = "https://127.0.0.1:8080"
>>> ftp = "https://127.0.0.1:8080"
>>> proxy_dict = {
...   "http": http,
...   "https": https,
...   "ftp": ftp
... }
>>> Send = requests.get(URL, proxies=proxy_dict, verify=False)

这就是打嗝时的要求

enter image description here

相关问题 更多 >

    热门问题