试图从Oanda的API获取货币报价。以下是我的代码:
s = requests.Session()
url = "https://stream-fxpractice.oanda.com/v1/prices"
headers = {'Authorization': 'Bearer ' + access_token}
params = {'instruments': pairs_oanda, 'accountId': account_id}
resp = s.get(url, headers=headers, params=params, stream=True)
访问令牌和帐户id是API的身份验证。当我向pairs\u oanda提供一个货币对(例如“EUR\u USD”)时,它可以正常工作,从而产生以下url:
https://streamfxpractice.oanda.com/v1/prices?instruments=GBP_USD&accountId=*******
但是,例如,当我提供货币对列表时
["EUR_USD", "GBP_USD"]
我得到以下网址:
https://stream-fxpractice.oanda.com/v1/prices?instruments=EUR_USD&instruments=GBP_USD&accountId=*******
但是,要正确访问API,我需要的url是:
https://stream-fxpractice.oanda.com/v1/prices?instruments=EUR_USD%2CGBP_USD&accountId=*******
是否有其他方法来获取对列表进行不同解析的请求
API希望您使用逗号分隔货币对。你得自己动手;在这里使用
str.join()
:%2C
字符序列是编码为URL编码的,
:并且
requests
负责为您引用,前提是您为它提供了未引用的参数值:相关问题 更多 >
编程相关推荐