2015-04-10 2 views
0

В настоящее время я пытаюсь запросить некоторые рыночные котировки из Yahoo Finance API (YQL) для проекта, над которым я работаю, и у меня возникают небольшие проблемы с построением URL-адреса запроса.URL-адрес API API YQL:

Если я иду в консоль и запроса котировок YQL для Microsoft возвращает мне следующий URL:

https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quote%20where%20symbol%20in%20(%22MSFT%22)&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback= 

Если я брошу это прямо в мой код и запустить мой запрос с этим URL, он отлично работает и Я могу получить данные, которые я хочу. Однако я хочу, чтобы иметь возможность построить свой собственный URL-адрес запроса, чтобы я мог выбирать, какие запасы я хочу получить, без необходимости копировать ссылку с консоли YQL.

Теперь, когда я пытаюсь создать свой собственный URL (после примеров YQL на сайте), я столкнулся с проблемой; мой url не кодирует себя так же, как консоль, и я не могу получить какую-либо информацию обратно.

Вот код, я использую, чтобы построить свой собственный URL:

$yql_base_url = "https://query.yahooapis.com/v1/public/yql?q="; 
$yql_query = "select * from yahoo.finance.quote where symbol in ('MSFT')"; 
$yql_query_url = $yql_base_url . urlencode($yql_query); 
$yql_query_url .= "&format=json&diagnostics=true"; 
$yql_query_url .= "&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback="; 

Теперь, когда я печатаю этот URL из рядом с одной скопированный из консоли YQL, легко видеть, что они не совпадают вообще-то, что, скорее всего, не работает.

Для сравнения, мой URL:

https://query.yahooapis.com/v1/public/yql?q=select+%2A+from+yahoo.finance.quote+where+symbol+in+%28%27MSFT%27%29&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback= 

YQL Console URL:

https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quote%20where%20symbol%20in%20(%22MSFT%22)&format=json&diagnostics=true&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback= 

Может кто-нибудь, кто использовал это раньше, или может увидеть любые ошибки, которые я могла бы сделать предложение некоторую помощь, было бы весьма полезно.

YQL Учебник Я был следующим: https://developer.yahoo.com/yql/guide/yql-code-examples.html#yql_php

ответ

0

вы можете попробовать rawurlencode вместо этого. Однако URL-адрес, который вы опубликовали, отлично работает в моем браузере.

Смежные вопросы