Как использовать символ с "."в URL с Alphavantage? - PullRequest
0 голосов
/ 10 сентября 2018

Я использую API Alpha Vantage и сталкиваюсь с проблемой, каждый раз, когда я пытаюсь отправить запрос API, где символ (тикер) имеет "."в нем вызов API возвращает ошибку недопустимого вызова 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

Ответы [ 2 ]

0 голосов
/ 03 апреля 2019

Большинство тикеров, которые имеют "." в них, кажется, требуется, чтобы вы заменили их на «-», так что это сработало для меня, однако я обнаружил, что это не всегда так. Я не смог найти никакой документации с полным списком тикеров (наверное, потому, что она динамическая), поэтому перестал использовать API.

0 голосов
/ 10 сентября 2018

Вы можете 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 разрешены точки и не имеют никакого специального значения.

...