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

如何在Linux命令行用wget/curl下载需合规验证的网站源码?

解决方法:针对年龄验证类网站的命令行爬取方案

首先明确:没有通用的URL传参方式能绕过这类验证,因为不同网站的年龄/合规验证逻辑差异极大——它们几乎不会依赖简单的URL参数(你试过的TRUE参数没用就是这个原因),大多是靠Cookie、本地存储或者后端会话来记录你的同意状态。

下面是具体的实操步骤,用curl/wget就能搞定大部分情况:

  • 第一步:抓包分析验证逻辑
    打开浏览器的开发者工具(F12),切换到「Network」面板,然后点击页面上的「ENTER」按钮,观察发生的请求:

    • 很多网站会直接设置一个Cookie(比如age_verified=1、adult_confirmed=true这类键值对),之后所有请求都会带上这个Cookie来证明你已验证;
    • 少数网站会发送一个POST请求到某个接口(比如/api/verify-age),提交同意状态,后端返回Set-Cookie头来记录会话。
  • 第二步:用curl/wget模拟验证状态

    1. 如果是Cookie验证:
      • 先在浏览器里完成验证,然后在开发者工具的「Application」→「Cookies」里找到对应的验证Cookie,复制键值对;
      • 用curl的话直接带上Cookie参数:
        curl --cookie "age_verified=1; adult_confirmed=true" https://目标网站地址
        
      • 用wget的话,可以把Cookie保存到文本文件(比如cookies.txt),然后加载:
        wget --load-cookies cookies.txt https://目标网站地址
        
    2. 如果是POST请求验证:
      • 先发送POST请求完成验证,同时保存Cookie到本地文件,再用这个Cookie请求目标页面:
        # 先发送验证请求,保存Cookie到cookie.jar
        curl -X POST -d "agree=yes&age=18+" https://目标网站/verify-endpoint --cookie-jar cookie.jar
        # 用保存的Cookie请求目标页面
        curl --cookie cookie.jar https://目标网站地址
        
  • 额外注意事项

    • 有些网站会检查请求的User-Agent,避免被识别为命令行工具,所以可以加上浏览器的UA:
      curl --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36" --cookie "age_verified=1" https://目标网站地址
      
    • 如果网站用了复杂的JS生成验证令牌(比如动态的CSRF token),单纯用curl/wget可能搞不定,这时候得用无头浏览器先自动点击验证按钮,再获取页面源码,但这已经不属于wget/curl的范畴了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 16:12:51