Я довольно новичок в Ruby и RoR, борюсь с проблемой и никуда не денусь.
По сути, я создаю веб-сервис "прокси", который будет обрабатывать определенные запросы, передавая ихсторонний сайт.Ответ, полученный от стороннего веб-сайта, представлен в формате HTML, который затем будет проанализирован, и будет дан соответствующий XML-ответ.
Я нахожусь в точке, когда мне нужно отправлять запросы POST через мой контроллер в Railsаутентифицировать пользователя, что я делаю, используя этот код:
require "net/http"
require "uri"
uri = URI.parse("http://myurl.com/members.cgi")
http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Post.new(uri.request_uri)
request.set_form_data({"email_login" => "user@email.com", "password_login" => "password"})
response = http.request(request)
Моя проблема заключается в ответе, который я получаю.Этот конкретный POST-запрос при успешном выполнении (то есть при успешной аутентификации пользователя) возвращает перенаправление 302.Само по себе это не проблема, так как я могу следить за перенаправлением, получая значение заголовка 'location':
redirectLocation = response['location']
То, что я застреваю, заключается в том, чтобы сохранять аутентификацию при выполнении перенаправления со следующимистрока:
redirectResponse = Net::HTTP.get_response(URI.parse(redirectLocation))
Это следует за перенаправлением, но возвращает ответ, показывающий, что я не аутентифицирован ??
Я действительно не понимаю, почему это происходит.Я вижу, что файл cookie для аутентификации возвращается с моим исходным ответом:
response['cookie']
Итак, наконец, мой вопрос: что мне нужно сделать, чтобы сервер распознал мой статус аутентификации?Передать куки с моим вторым запросом как-нибудь?Если да, то как мне это сделать?
Большое спасибо заранее за ваше время!
Рог