Я пытаюсь получить доступ к интерфейсу REST из Kentico CMS и, похоже, не могу правильно получить к нему доступ в своем приложении Rails. Я могу получить к нему доступ в браузере, и я получаю всплывающее окно аутентификации имени пользователя/пароля, которое затем возвращает мне JSON после ввода правильных учетных данных.
В моем приложении Rails я использую rest-client и пытаюсь получить доступ через следующее:
username = 'username_here'
password = 'password_here'
page_url = 'page_url_here'
resource = RestClient::Resource.new(page_url, :username => username, :password => password)
response = resource.get
Также пробовал:
resource = RestClient::Resource.new(page_url)
resource.head :Authorization => Base64.encode64(username) + ":" + Base64.encode64(password)
response = resource.get
Оба выдают ошибку отказа в соединении. В документация Kentico говорит, что каждый запрос должен быть отправлен с авторизацией заголовок так:
Authorization: Basic <enter Base64-encoded <username>:<password> here>
Поэтому я предполагаю, что я не должен правильно отправлять заголовки, или, возможно, гем rest-client просто не подходит для этой задачи. Я открыт для использования других драгоценных камней или совершенно других подходов. Любая помощь приветствуется!
Изменить:
Мне удалось избавиться от ошибки отказа в соединении, изменив второй пример на следующий:
resource = RestClient::Resource.new(page_url)
resource.head :Authorization => "Basic " + Base64.encode64("%s:%s" % [username, password])
Однако теперь я получаю ошибку 405 Method Not Allowed. Есть ли что-то еще в заголовке, который отправляет браузер, чего нет у rest-client?