Я создаю YahooFinance Api и продолжаю ударять по кирпичной стене при попытке использовать открытый URI.Открытый URI - Ошибка URI Ошибка, кодирование/экранирование не влияет на
Код:
uri = ("http://ichart.finance.yahoo.com/table.csv?s=#{URI.escape(code)}&a=#{start_month}&b=#{start_day}&c=#{start_year}&d=#{end_month}&e=#{end_day}&f=#{end_year}&g=d&ignore=.csv")
puts "#{uri}"
conn = open(uri)
Ошибка:
`split': bad URI(is not URI?): http://ichart.finance.yahoo.com/table.csv?s=%255EIXIC&a=00&b=1&c=1994&d=09&e=14&f=2014&g=d&ignore=.csv} (URI::InvalidURIError)
Я попытался URI.unescape(code)
, который выводит code
в ^IXIC
, а также оставляя URI
методы, и code
придет через, как %5EIXIC
.
После чтения вокруг на переполнение стека, я пробовал оба этих метода не дало никаких результатов:
uri = URI.parse(URI.encode(url.strip))
safeurl = URI.encode(url.strip)
Даже после просмотра кода для другого рубинового Yahoo-финанс драгоценный камень , here, я не могу найти решение. Любая помощь приветствуется. Спасибо
EDIT: Я могу использовать open(uri)
, когда я вручную вводить URL в одинарных кавычках. Сделайте двойные кавычки (используемые для вставки объектов ruby), сыграйте здесь роль?
Почему есть дополнительный '}' после 'd & игнорировать = .csv'? Удалите его, затем повторите попытку? – Surya
Извините, это произошло при вставке. Я удалил его в редактировании. – Sillson