【问题标题】:Getting cookies with requests通过请求获取 cookie
【发布时间】:2015-06-13 12:21:05
【问题描述】:

当我尝试使用浏览器使用 .cab 网络代理访问 Tor 站点时,我首先从 .cab 代理获得免责声明,然后在单击按钮后我进入了实际的 .onion 站点。我认为该网站使用 cookie 来确定是否点击了免责声明,因为当我从浏览器中删除 cookie 时,当我尝试访问网站时会再次收到免责声明。

但是,当我尝试通过请求访问网站时,我没有收到任何 cookie:

>>> r = requests.get(address)
>>> r.cookies
<RequestsCookieJar[]>

我尝试过使用会话,但同样的事情发生了。如何使用 Python 请求获取 cookie?

我正在尝试的 URL 是“https://qzbkwswfv5k2oj5d.onion.cab/”。 我已经尝试过没有标题和 Chrome 发送的标题:

Host: qzbkwswfv5k2oj5d.onion.cab
Connection: keep-alive
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.124 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6

【问题讨论】:

  • 这就是获取cookies的方法。如果您没有收到 cookie,则该网站没有发送任何
  • 而且您将不得不使用会话来跨进一步的请求维护 cookie。
  • 你可能不得不伪造你的User-Agent我会说。 requests.get(url, headers) 其中headers={"User-Agent": "..."}
  • 你能发布你的目标网址吗?
  • 这太奇怪了。本网站不发送任何 cookie,而是使用 javascript 函数生成 cookie。它调用了这个 - onion.cab/pwk.php,它的响应是 javascript。

标签: python cookies python-requests tor


【解决方案1】:

我相信你必须伪造User-Agent

示例:

from requests import get


headers = {
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.1 Safari/537.36"
}


response = get(url, headers=headers)
response.raise_for_status()
response.cookies

这是我从here 获得的典型 Google Chrome User-Agent

【讨论】:

  • 还是一样的。
猜你喜欢
  • 1970-01-01
  • 2012-04-26
  • 2019-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-06
  • 1970-01-01
  • 2022-01-04
相关资源
最近更新 更多