如何使用带“.”的符号在 URL 与 Alphavantage 中?

How to use a symbol with a "." in the URL with Alphavantage?

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

我该如何克服这个问题?

例如,要在伦敦证券交易所搜索 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

您可以 URL- 将点编码为 %2E。与将 space 编码为 %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 paragraph 2.3 点是允许的,没有任何特殊含义。

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