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

如何在IDE中调用Buff163 API?登录验证问题及密钥疑问

关于Buff163 API请求返回“login required”的解决方法

问题描述

我通过以下Java代码向Buff163 API发起请求:

HttpClient client = HttpClient.newHttpClient();
HttpRequest request=HttpRequest
        .newBuilder()
        .uri(URI.create("https://buff.163.com/api/market/goods?game=csgo&page_num=1&page_size=2&min_price=150&max_price=200&category=weapon_awp&sort_by=price.asc"))
        .GET()
        .build();

HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

但返回“login required”;而在已登录Buff163的浏览器中发起该请求可得到正确响应。请问该API是否无API密钥?如何在IDE中成功发起请求?我尝试查找该API的官方文档但未找到。

解决说明

  • 该API没有官方提供的独立API密钥,它采用会话Cookie鉴权机制——浏览器能正常请求是因为登录后已携带了有效的会话凭证。
  • 在IDE中实现成功请求的关键是给请求添加登录后的Cookie,具体操作:
    1. 打开已登录Buff163的浏览器,按F12调出开发者工具,切换到「网络」面板;
    2. 手动触发一次目标API请求(比如刷新对应页面),在网络请求列表中找到该API的请求条目;
    3. 查看请求头,复制完整的Cookie字段内容;
    4. 修改Java代码,为HttpRequest添加Cookie请求头:
      HttpClient client = HttpClient.newHttpClient();
      HttpRequest request=HttpRequest
              .newBuilder()
              .uri(URI.create("https://buff.163.com/api/market/goods?game=csgo&page_num=1&page_size=2&min_price=150&max_price=200&category=weapon_awp&sort_by=price.asc"))
              .header("Cookie", "这里替换成你复制的Cookie内容")
              .GET()
              .build();
      
      HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
      
  • 额外注意:
    • Cookie有有效期,过期后需要重新从浏览器获取;
    • 这是非官方公开的接口,Buff163可能随时调整接口规则或鉴权逻辑;
    • 不要泄露你的Cookie,否则会导致账号安全风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 05:07:36