You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

网站需Cookie时,如何用curl在Windows恢复数据下载?

解决OCC API请求返回"Enable JavaScript and cookies to continue"的问题

这个问题大概率是网站启用了反爬机制(比如Cloudflare的JS/Cookie验证),阻止了纯curl的无会话请求。可以试试以下几种方法恢复功能:

1. 复用浏览器会话Cookie

先通过浏览器获取有效Cookie,再用curl携带Cookie请求:

  • 打开浏览器访问目标API地址,等待页面加载完成(如果有验证步骤就完成它)
  • 按F12打开开发者工具,切换到「Network」标签,刷新页面,找到对应API请求,在「Request Headers」里复制Cookie字段的值
  • 把Cookie加到curl命令里:
    curl.exe -H "Cookie: 这里替换成你复制的Cookie内容" https://www.theocc.com/mdapi/series-search?symbol_type=U&symbol=AA
    

或者用curl先获取网站的初始Cookie并保存,再复用:

# 先请求首页获取Cookie并保存到文件
curl.exe -c occ_cookies.txt https://www.theocc.com/
# 用保存的Cookie请求API
curl.exe -b occ_cookies.txt https://www.theocc.com/mdapi/series-search?symbol_type=U&symbol=AA

2. 模拟完整的浏览器请求头

反爬机制通常会检查User-Agent等标识,加上浏览器的UA能提升请求的合法性:

curl.exe -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36" -b occ_cookies.txt https://www.theocc.com/mdapi/series-search?symbol_type=U&symbol=AA

3. 使用支持JS渲染的工具

如果上面的方法都失效,说明网站需要执行JavaScript才能通过验证,这时候curl就无法处理了,得用支持无头浏览器的工具:
比如用Node.js的Playwright写个简单脚本:

const { chromium } = require('playwright');

(async () => {
  const browser = await chromium.launch();
  const page = await browser.newPage();
  // 访问API地址,自动处理JS验证
  await page.goto('https://www.theocc.com/mdapi/series-search?symbol_type=U&symbol=AA');
  // 等待API响应
  const apiResponse = await page.waitForResponse(res => res.url().includes('series-search'));
  // 获取JSON数据
  const jsonData = await apiResponse.json();
  console.log(jsonData);
  await browser.close();
})();

运行前需要先安装Playwright:npm install playwright,再执行npx playwright install chromium。

或者用无头Chrome的命令行方式:

chrome.exe --headless=new --dump-dom https://www.theocc.com/mdapi/series-search?symbol_type=U&symbol=AA > response.json

注意事项

  • 先确认网站的服务条款,避免自动化请求违反规定导致IP被封禁
  • Cookie可能会过期,需要定期更新

内容的提问来源于stack exchange,提问作者Madhavi D

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 02:45:39