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

Python请求MarineTraffic接口出现403错误的解决方法咨询

解决MarineTraffic接口403错误的Python请求方案

核心原因

网站会通过请求头验证判断请求是否来自合法浏览器,直接用curl转的代码大概率缺失了关键头信息(比如User-Agent、Referer)或者有效的Cookie,导致被服务器拦截返回403。

具体解决步骤

1. 完整复制浏览器的请求头

打开Chrome网络面板,找到目标接口的请求,右键复制完整的请求头(包含Cookie、User-Agent、Referer、Accept等所有字段)。

2. 在Python requests中补全所有关键头

把复制的请求头整理成字典,传入requests.get的headers参数,同时确保Cookie是当前浏览器中有效的值(直接从浏览器复制即可)。

示例代码

import requests

url = "https://www.marinetraffic.com/getData/get_data_json_4/z:3/X:1/Y:0/station:0"

# 替换为你从浏览器复制的完整请求头
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36",
    "Referer": "https://www.marinetraffic.com/",
    "Accept": "application/json, text/javascript, */*; q=0.01",
    "Cookie": "此处替换为浏览器中复制的有效Cookie字符串",
    "X-Requested-With": "XMLHttpRequest"
}

response = requests.get(url, headers=headers)
print(response.status_code)
print(response.json())

注意事项

  • Cookie存在有效期,过一段时间后需要重新从浏览器复制新的Cookie。
  • 避免频繁发送请求,防止触发网站反爬机制导致IP被封禁。
  • 如果补全头后仍返回403,需检查请求参数是否包含动态生成的签名类内容,这类参数需要同步从浏览器请求中复制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 08:24:50