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

Ropsten网络调用Etherscan API返回403错误(Postman、主网请求正常)

问题原因分析
  • User-Agent识别拦截:requests库发起请求时默认会携带User-Agent: python-requests/[版本号]的请求头,Etherscan的Ropsten测试网API部署了更严格的Cloudflare反爬规则,会直接拦截这类爬虫特征明显的UA;而主网API的反爬阈值更高,Postman发起请求时携带的是Postman专属UA,不会被拦截,因此出现你描述的差异情况。
  • Ropsten网络已正式停止维护,部分节点服务的访问规则做了特殊限制,偶发会拒绝非常规客户端的请求。
解决方案

方案1:自定义请求头伪装UA

在发起请求时添加自定义User-Agent头,伪装为普通浏览器或者Postman的UA即可,修改后的代码示例:

import requests
response = requests.get(
    "https://api-ropsten.etherscan.io/api",
    params={
        "module": "account",
        "action": "balance",
        "address": "0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae",
        "tag": "latest",
        "apikey": "MyApiKey",
    },
    # 新增headers参数,自定义UA
    headers={
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
    }
)

如果想要和Postman完全一致,可以在Postman的请求日志里复制它的UA填入即可。

方案2:更换仍在维护的以太坊测试网

Ropsten测试网已经在2022年第四季度正式弃用,Etherscan对该网络的API支持随时可能下线,建议将测试链切换为Sepolia或者Goerli,对应的API端点分别为https://api-sepolia.etherscan.io/api和https://api-goerli.etherscan.io/api,请求参数和主网完全一致,适配成本极低。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 22:30:05