游客发表

怎么获取网站cookie

发帖时间:2026-10-17 05:15:06

打开浏览器开发者工具,网站切到 Application 面板,网站左侧 Storage 一栏里找到 Cookies,网站点开就能看到当前域名下的网站所有 cookie。这是网站最直接的办法,Chrome、网站Edge、网站Firefox 都差不多。网站但很多人卡在第一步——不知道按 F12,网站或者按了不知道怎么找。网站我见过一个做运营的网站同事,为了拿某个后台的网站 cookie,硬是网站手动翻浏览器设置翻了十分钟,其实两下键盘就搞定。网站

Cookie 本质上就是网站服务器塞给浏览器的一小段文本,浏览器每次请求同一个域名时自动带上。它分两种:一种是会话 cookie,关掉浏览器就没了;另一种带 Expires 或 Max-Age,能活几天甚至几年。你登录一个网站,服务器返回 Set-Cookie 头,浏览器存下来,下次请求带上,服务器就知道你是谁。就这么简单。

手动从浏览器里拿

以 Chrome 为例。按 F12 打开 DevTools,顶部标签选 Application。左边栏展开 Cookies,点你当前访问的域名。右边表格里 Name 和 Value 两列就是你要的东西。想复制全部?在 Console 里敲 document.cookie 回车,会返回一个字符串,分号隔开。但注意,HttpOnly 的 cookie 用 document.cookie 读不到——这是故意的,防止 XSS 攻击偷走登录态。所以有时候你在 Console 里拿到的 cookie 不全,得回 Application 面板里看。

Firefox 也类似,F12 后选“存储”面板。Safari 稍微麻烦点,得先在偏好设置里打开“开发”菜单,然后才能用 Web Inspector 的存储选项卡。

用脚本自动抓

如果你要批量拿多个站点的 cookie,或者想定时抓,手动点就不现实了。Python 里用 requests 库,response.cookies 就能拿到服务器设置的 cookie。但要是目标站点有 JavaScript 动态设置的 cookie,requests 就无能为力了,得用 Selenium 或 Playwright 驱动真实浏览器。

from selenium import webdriver driver = webdriver.Chrome() driver.get("https://example.com") cookies = driver.get_cookies() for c in cookies: print(c["name"], c["value"]) driver.quit()

这段代码跑完,你能拿到包括 HttpOnly 在内的所有 cookie。代价是慢,每个页面都要等加载。Playwright 更快一些,API 也更干净。

几个容易踩的坑

Cookie 有 Domain 和 Path 限制。你在 www.example.com 拿到的 cookie,不一定能在 api.example.com 用。Path 设成 /admin 的 cookie,请求 /user 时就不会带上。还有 SameSite 属性,设成 Strict 或 Lax 时,跨站请求根本不发 cookie,你拿到的可能是空的。

另外,很多网站会用 cookie 做反爬。你从浏览器复制出来的 cookie 带着完整的浏览器指纹和会话信息,直接塞进脚本里请求,有时候反而会被风控标记。我自己的做法是:先拿 cookie 跑一次请求,看返回状态码。403 或 302 跳登录页,说明 cookie 已经失效或者被识别了。这时候要么换 IP,要么模拟更完整的浏览器行为。

最后提一句,拿别人网站的 cookie 去爬数据,得看对方 robots.txt 和用户协议。技术上行得通,不代表可以随便干。

    热门排行

    友情链接