mechanize referer
http://www.dzone.com/snippets/many-mechanize-examples
page = agent.get(:url => 'http://apoc.sixserv.org/requestinfo/',
- referer => 'http
- //google.com/this/is/a/custom/referer')
puts page.body
http://w.livedoor.jp/ruby_mechanize/d/Mechanize
http://d.hatena.ne.jp/kitamomonga/20081215/ruby_mechanize_faq_for_v_0_9
get 時に特定のリファラー URL 文字列を設定する
agent.get(uri, URI.parse('http://www.example.com/referer_url'))
# または
agent.get(:url => uri, :referer => URI.parse('http://www.example.com/referer_url'))
http://d.hatena.ne.jp/kitamomonga/
ひと続きのサーバーリダイレクトのリファラはすべて「最初」のURLを送信し続けるように
pageA から pageB にリダイレクトされてさらに pageC にリダイレクトされる場合、pageA に ref というリファラが設定されたなら
従来の Mechanize
Referer: ref というリクエストヘッダつきで pageA を取得
Referer: pageA というリクエストヘッダつきでリダイレクト先の pageB を取得
Referer: pageB というリクエストヘッダつきでリダイレクト先の pageC を取得
これからの Mechanize 2.1 、または一般的な Web ブラウザ
Referer: ref というリクエストヘッダつきで pageA を取得
Referer: ref というリクエストヘッダつきでリダイレクト先の pageB を取得
Referer: ref というリクエストヘッダつきでリダイレクト先の pageC を取得
という動作になります。どちらかというと従来の Mechanize の動作のほうがそのまんまで素直なような気もするのですが、フツーの Web ブラウザの動作は後者になっているようなので、それに合わせられました。
リファラを送る場合::http://d.hatena.ne.jp/kitamomonga/20080613/ruby_mechanize_https_referer