Подтвердить что ты не робот

URI:: InvalidURIError (плохой URI (не URI?):):

Я пытаюсь реализовать поставщика OAuth в Rails 3. Когда я пытаюсь авторизовать клиентское приложение, я получаю эту ошибку. Я использую плагин autost для RESTful и плагин OAuth-plugin. Когда я тестировал через консоль Rails и получал эту ошибку, я думал, что мне просто нужно кодировать URL-адреса, но я получаю ту же ошибку при тестировании в браузере, поэтому я не уверен, что не так.

4b9b3361

Ответ 1

У меня возникли проблемы с URI.split (возвращая эту ошибку), я не знаю, поможет ли это вам, но я отправлю здесь несколько предупреждений, кроме тех, у кого есть эта ошибка:

  • Проверьте, что ваш URL-адрес не равен нулю, и он действителен.
  • Сделайте URI.encode(url) до URI.parse (чтобы избежать специальных символов)
  • Сделайте strip для строки, которую вы передаете в URI.parse (чтобы избежать ведущих и завершающих пробелов).

Все в одном:

uri = URI.parse(URI.encode(url.strip))

Связанный ресурс: http://www.practicalguile.com/2007/09/15/raising-uriinvalidurierror-from-a-perfectly-valid-uri/

Ответ 2

Вы также можете использовать этот альтернативный камень URI: https://github.com/sporkmonger/addressable

Нет проблем с этим.

Очень родной, просто добавьте пространство имен в свой код после установки gem

Addressable::URI

Ответ 3

попробуйте следующее:

safeurl = URI.encode(url.strip)
response = RestClient.get(safeurl)