我正在尝试使用两个不同的函数从 CoinBase API https://docs.cloud.coinbase.com/exchange/reference/exchangerestapi_getproductticker 获取产品代码。第一个如下:
def connect_to_coinbase_ticker(product_id: str):
url = f"https://api.exchange.coinbase.com/products/{product_id}/ticker"
headers = {"accept": "application/json"}
response = requests.get(url, headers=headers).json()
print(json.dumps(response, indent=4))
但我收到此回复消息:
{"message": "NotFound"}
通过查看上面的链接,我还尝试使用那里提供的函数来获取这些数据:
def connect_to_coinbase_ticker(product_id: str):
conn = http.client.HTTPSConnection("api.exchange.coinbase.com")
payload = ''
headers = {'Content-Type': 'application/json'}
conn.request("GET", f"/products/{product_id}/ticker", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
但我不断收到错误消息:
{"message":"User-Agent header is required."}
所以我的问题是如何修改上述功能之一,这样我就不会收到这些消息并获得我请求的产品代码数据。
谢谢!
首先确保您的
pruduct_id
正确。headers = {'Content-Type': 'application/json',
'User-Agent': 'Mozilla/5.0 (X11; CrOS x86_64 8172.45.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.64 Safari/537.36'}
或任何您想要的用户代理字符串。您可以通过谷歌搜索“我的用户代理字符串是什么”来找出您的实际用户代理并使用它。