html получить для пользователя \ пройти защищенный сайт - PullRequest
1 голос
/ 20 января 2011

Мне нужно собрать с ruby ​​следующие шаги:
1. введите домашнюю страницу сайта
2. там есть специальная html форма, в которой нужно ввести user \ pass и нажать кнопку ввода (т.е. html post)
3. получить ответ (html + логин cookie) с шага 3.
4. Делать много запросов на получение html с помощью cookie-файла для входа (в противном случае у меня не будет разрешения на страницу)

Кстати, я пытался

url = URI.parse('http://www.example.com/todo.cgi')
req = Net::HTTP::Post.new(url.path)
req.basic_auth 'jack', 'pass'
req.set_form_data({'from'=>'2005-01-01', 'to'=>'2005-03-31'}, ';')
res = Net::HTTP.new(url.host, url.port).start {|http| http.request(req) }
case res
when Net::HTTPSuccess, Net::HTTPRedirection
  # OK
else
  res.error!
end

и это не сработало.

Спасибо, ребята

1 Ответ

4 голосов
/ 20 января 2011

Существует несколько отличных камней Ruby для автоматического доступа к веб-сайтам.

См .:

Nokogiri - самая популярная жемчужина для разбора HTML.У Райана Бейтса есть отличная заставка по механизму . Mechanize - библиотека Ruby для автоматического взаимодействия с веб-сайтами.Он расширяет возможности Nokogiri, позволяя вам взаимодействовать с несколькими страницами сайта: щелкать ссылки, отправлять формы и т. Д.

Взгляните на Mechanize.Вы добьетесь больших успехов с хорошо документированной библиотекой Ruby и сохраните работу по ее реализации самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...