【问题标题】:How to pass parameters or cookies with requests in python?如何在python中通过请求传递参数或cookie?
【发布时间】:2020-03-27 07:39:39
【问题描述】:

我在使用提取 cookie 和参数时遇到问题

检查元素 --> 网络 (Firefox)

我正在尝试通过我的请求传递它

使用此代码:

import requests

cookies ={"_ga":"GA","cookid":"cookies","cookname":"username","id":"id_num","ider":"ider","PHPSESSID":"PHPSESSID","tb":"tb_num"}
params ={"Query string":{"sec":"8"},"Form data":{"chk[]":["on","on","on"],"sec":"8","add-final":""}}
url = 'https://url.com/add.php?sec=8'

r = requests.post(url, cookies=cookies, params=params)

print(r.cookies)

(为了安全起见,我更改了 cookie)

当它打印 cookie 时,它​​只返回这个:

<RequestsCookieJar[]>

【问题讨论】:

  • 添加网址以便我们查看。

标签: python-3.x automation python-requests


【解决方案1】:

r.cookies 不会为您获取请求的 cookie,而是为您获取在请求响应中收到的 cookie。

要获取已发送的 cookie,

r.request.cookies

【讨论】:

  • 不,我的朋友,那是错误的。它确实提供了 cookie,但没有显示 cookie,您的代码给了我一个错误。
  • 你做到了吗,print(r.request.cookies)
  • ايه يقلبي, سويت وماضبط :)
【解决方案2】:

可能与您发送 POST 请求的方式有关,请尝试替换此:

r = requests.post(url, cookies=cookies, params=params)

用这个:

r = requests.post(url, cookies=cookies, data=params)

此外,如果您尝试以字典的形式打印 cookie,您应该使用:

print(r.cookies.get_dict())

希望对你有帮助

【讨论】:

  • @NabeelAl-Hamwi 尝试用 json=params 替换 data=params
猜你喜欢
  • 2016-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-22
  • 1970-01-01
  • 2023-04-03
相关资源
最近更新 更多