Задать вопрос
@rjsem

Как управлять данными сайта, который требует авторизации без API?

Есть сайт на котором присутствует авторизация, после ней я вижу свою информацию и регулярно просматриваю её.
Хочу написать скрипт, если у сайта было API - всё было бы просто, но я не могу понять почему у меня не выходит.
пользуясь данной документацией apidock.com/ruby/Net/HTTP

Net::HTTP.start(uri.host, uri.port) do |http|
  request1 = Net::HTTP::Post.new uri.request_uri
  response = http.request request1 // тут я как бы отправлял серверу логин и пасс(урл на 100% верный и в ответе выдаёт тоже, что и браузере, что я успешно залогинен)

  request2 = Net::HTTP::Get.new uri.request_uri
  response = http.request request2 // а тут хотел бы видеть данные после авторизации, но я вижу только публичную информацию, как будто я вообще не логинился
end


что я делаю не так?

PS: не судите строго новичка:D
  • Вопрос задан
  • 206 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
@magazovski
Не программирую на руби, но смею предположить что

1) Куки из первого ответа надо передавать во второй запрос

2) сервер не поддерживает постоянное соединение - то есть надо разнести в разные блоки start/end

на стэковерфлоу например советуют вот такой костыль для кук
r = http.get(path)
cookie = {'Cookie'=>r.to_hash['set-cookie'].collect{|ea|ea[/^.*?;/]}.join}
r = http.get(next_path,cookie)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
POS_troi
@POS_troi
СадоМазо Админ, флудер, троль.
stackoverflow.com

Только хорошим тоном будет куки сохранить в файл а не постоянно авторизироваться.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы