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

如何解决Python调用加密货币API时出现的InvalidURL非数字端口错误

问题原因

  • http.client.HTTPConnection 构造参数仅接受主机域名,你错误传入了带https://协议前缀和/v2路径的完整地址,解析器会把//后面的内容识别为端口号,因此触发非数字端口的报错。同时该API走HTTPS协议,需要使用HTTPSConnection而非HTTPConnection。
  • 请求的路径参数使用了逗号分隔,不符合HTTP路径规范,实际应该用斜杠分隔,且需要补上/v2路径前缀。

修正后可运行代码

import http.client
# 仅传入主机域名,使用HTTPS连接
conn = http.client.HTTPSConnection("rest.cryptoapis.io")
headers = {
  'Content-Type': "application/json",
  'X-API-Key': "替换为服务商提供的实际API密钥"
}
# 路径用斜杠分隔,补全/v2前缀
conn.request("GET", "/v2/blockchain-data/bitcoin/testnet/transactions/4b66461bf88b61e1e4326356534c135129defb504c7acb2fd6c92697d79eb250", headers=headers )

res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

新手更友好的写法推荐

如果你刚接触Python,更推荐使用requests库发起请求,语法更简洁,不容易出现路径拼接类的低级错误:

import requests

API_KEY = "替换为服务商提供的实际API密钥"
url = "https://rest.cryptoapis.io/v2/blockchain-data/bitcoin/testnet/transactions/4b66461bf88b61e1e4326356534c135129defb504c7acb2fd6c92697d79eb250"
headers = {
    "Content-Type": "application/json",
    "X-API-Key": API_KEY
}
response = requests.get(url, headers=headers)
print(response.text)

内容的提问来源于stack exchange,提问作者J.Doe

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 15:15:01