İşveren biletlerimi bir API sağlamayan bir bilet yönetim sisteminden ayıklamak için, Ruby'nin Mechanize sürümünü kullanmaya çalışıyorum.Mekanizma istekleri arasındaki çerezlerin bakımı
Sorun o makineleştirmek aşağıda gösterilen post
çağrı ve get
çağrısı arasında çerezleri tutmak değil gibi görünüyor, geçerli:
require 'rubygems'
require 'nokogiri'
require 'mechanize'
@agent = Mechanize.new
page = @agent.post('http://<url>.com/user_session', {
'authenticity_token' => '<token>',
'user_session[login]' => '<login>',
'user_session[password]' => '<password>',
'user_session[remember_me]' => '0',
'commit' => 'Login'
})
page = @agent.get 'http://<url>.com/<organization>/<repo-name>/tickets/1'
puts page.title
user_session
hangi sitenin giriş sayfası POST URL ve ben ettik Bu gerçekten beni oturum açtığını doğruladı. Ama get
çağrısı döndüren sayfa 'Oops, giriş yapmadınız!' sayfa.
post
numaralı çağrıdan dönen sayfadaki click
numaralı bağlantıların çalıştığını doğruladım, ancak JavaScript'i kullanmadan gitmem gereken yere ulaşamıyorum. Ve elbette bunu, aynı girişle tarayıcıda başarıyla yaptım.
Neyi yanlış yapıyorum?
aşağıdaki gibidir: sadece yapabileceği bir
gem install mechanize --pre
yapmak son yükleyin ve bundan sonragem uninstall mechanize 'some_version'
motorize eski sürümü kurtulmak için emin olmak için Kötü, neden yeni bir mekanize örneği gerekiyor? –@DitmarWendt Bu, giriş sonrası çalıştırıldıktan sonra daha önce elde edilen çerezlerin nasıl yeniden kullanılacağına ilişkin bir örnektir. –