3

我正在使用 Alpha Vantage API 并且遇到了一个问题,每次我尝试发送一个 API 请求,其中符号(股票代码)有一个“。” 其中,API 调用返回 Invalid API call 错误。

我该如何度过这个难关?

例如,要在伦敦证券交易所搜索 BT Group,您可以使用“LON:BT.A”,我希望它可以形成如下所示的 URL:

https://www.alphavantage.co/query?function=TIME_SERIES_MONTHLY&symbol=LON:BT.A&apikey=API_KEY

这不起作用,但同样,如果我想搜索没有点的股票代码,那么它工作得非常好,例如 Sky plc 是“LON:SKY”,所以下面的工作:

https://www.alphavantage.co/query?function=TIME_SERIES_MONTHLY&symbol=LON:SKY&apikey=API_KEY
4

2 回答 2

2

大多数带有“。”的股票代码。在它们中似乎要求您用“-”替换它们,所以这对我有用,但是我发现并非总是如此。我找不到任何包含完整代码列表的文档(我猜可能是因为它是动态的)所以停止使用 API。

于 2019-04-03T07:58:33.727 回答
0

您可以将点 URL 编码为%2E. 与将空格编码为%20. 带有编码点的 URL 看起来像这样:

https://www.alphavantage.co/query?function=TIME_SERIES_MONTHLY&symbol=LON:BT%2EA&apikey=API_KEY

可以在此处找到有关 URL 编码的更多信息:
https ://www.w3schools.com/tags/ref_urlencode.asp

仍然想知道为什么 URL 中不允许使用普通点。认为网络服务器无法处理它。根据RFC3986 第 2.3 段,点是允许的,没有任何特殊含义。

于 2018-09-10T19:56:58.857 回答