Problem pojawił się kiedy zaczałem przeglądać wyniki wyszukiwania książek na stronie http://www.worldcat.org .
Okazuje się że inne wyniki dla tego samego zapytania zwracane są Firefoxowi/IE/Operze itp a inne agentowi mechanize.
Zmiana user_agent na jakikolwiek z wymienionych nie pomaga.
Ponieważ wyniki różnią się o tyle, ze w mechanize praktycznie nie ma polskich pozycji, a w przegladarkach są na pierwszych miejscach, doszedłem do wniosku, że jest to kwestia preferowanego języka, który w przeglądarkach jest ustawiony na polski, a w mechanize z pewnością nie.
Drugi dzień bezskutecznie szukam informacji jak zmienić preferowany język (opcja wysyłana w nagłówku przez klienta) w mechanize. Dokumentacja mechanize dla rubego jest co najmniej niekompletna.
Ktoś może już spotkał się z podobnym problemem?
Może są jeszcze inne opcje które można zmienić w nagłówku i ktore mogą mieć wpływ?
A próbowałeś w ten sposób:
require 'mechanize'
m = Mechanize.new
m.get :url => "http://google.com", :headers => {'Accept-Language' => 'pl'}
Ze źródeł wynika, że przekazując hash w kluczu headers możemy wpakować wszelkie nagłówki, po krótkich testach wygląda na to, że ta metoda działa.
Rewelacja! Właśnie o to chodziło.
Wielkie dzięki!
A nie da rady zmienić na stałe tego parametru? Kiedy zatwierdzam formularz page = agent.submit form
nie daje się już użyć hasha, chyba ze jest inna metoda, w której się da…
A próbowałeś?
agent.request_headers['Accept-Language'] = 'pl'
Nie wiem czemu to przeoczyłem… :|.
Dzieki.