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

Solana JSON RPC请求超时,curl及Python调用报错如何解决?

问题原因
  • Curl语法错误:你当前运行curl的环境(大概率是Windows cmd/PowerShell)不支持单引号包裹字符串,导致-d后的JSON参数被拆分为多个独立参数,被curl误认为是多个目标主机,才会出现无法解析jsonrpc、2.0等主机名、括号匹配报错的问题。
  • 端口配置错误:8899是Solana RPC的HTTP默认端口,你用HTTPS协议加8899端口的组合本身就是错误的,HTTPS访问Solana公共RPC默认走443端口,不需要额外指定端口。
  • 官方公共RPC可用性差:Solana官方提供的api.mainnet-beta.solana.com公共端点仅用于开发测试,有严格的速率限制,且部分地区网络访问存在连通性问题,本身就极易出现超时。
修复方案

1. 修复Curl命令

Linux/Mac/Git Bash环境

curl https://api.mainnet-beta.solana.com -X POST -H "Content-Type: application/json" -d '
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getBalance",
  "params": [
    "替换为你的真实钱包地址"
  ]
}'

Windows PowerShell环境

curl https://api.mainnet-beta.solana.com -X POST -H "Content-Type: application/json" -d @"
{
  `"jsonrpc`": `"2.0`",
  `"id`": 1,
  `"method`": `"getBalance`",
  `"params`": [
    `"替换为你的真实钱包地址`"
  ]
}
"@

2. 修复Python代码

import requests

# 移除错误的8899端口配置
url = "https://api.mainnet-beta.solana.com"
payload = {
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getBalance",
  "params": [
    "替换为你的真实钱包地址"
  ]
}
# 增加超时参数避免请求长时间挂起
response = requests.post(url, json=payload, timeout=15).json()
print(response)

3. 超时问题的终极解决方案

如果修改后仍然出现超时,说明你所在网络无法连通官方公共RPC,可更换第三方Solana RPC服务,比如Alchemy、QuickNode、Hello Moon等平台都提供免费额度的RPC端点,注册后替换请求URL为你自己的专属端点即可正常使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:54:04