通常のブラウザからのHTTPリクエストに近づけるため、HTTPヘッダーにエージェントとリファラーを設定する方法を確認しました。
※目次をクリックすると目次の下部にコンテンツが表示されます。
HTTPヘッダーを確認する方法
1)Webパケットモニタリングツールでモニタ
例えば下記ツールをインストールしてモニタします。
Fiddler
・ブラウザによる通信は、Fiddlerを起動すると自動でモニタできます。
・Ruby curbを使った通信をモニタリングする場合は、下記のようにプロキシーのポートの設定を行います。
curl.proxy_url = ‘127.0.0.1:8888’
2)Apacheのアクセスログで確認
ローカル環境など自分が管理するWebサーバーを使って動作確認する場合は、Webサーバーのアクセスログで確認する事が出来ます。
Apacheのログ設定で、リファラーとユーザーエージェントを記録する場合の例です。
(設定例)
LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”” combined
CustomLog “logs/access.log” combined
例えば下記ツールをインストールしてモニタします。
Fiddler
・ブラウザによる通信は、Fiddlerを起動すると自動でモニタできます。
・Ruby curbを使った通信をモニタリングする場合は、下記のようにプロキシーのポートの設定を行います。
curl.proxy_url = ‘127.0.0.1:8888’
2)Apacheのアクセスログで確認
ローカル環境など自分が管理するWebサーバーを使って動作確認する場合は、Webサーバーのアクセスログで確認する事が出来ます。
Apacheのログ設定で、リファラーとユーザーエージェントを記録する場合の例です。
(設定例)
LogFormat “%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-Agent}i\”” combined
CustomLog “logs/access.log” combined
Ruby curbサンプルプログラム
1)リファラーとユーザーエージェントの設定
下記のように設定できます。
curl.headers[“User-Agent”] = “User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:28.0) Gecko/20100101 Firefox/28.0”
curl.headers[“Referer”] = “http://localhost/bootstrap3/”
2)サンプルプログラム
下記のように設定できます。
curl.headers[“User-Agent”] = “User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:28.0) Gecko/20100101 Firefox/28.0”
curl.headers[“Referer”] = “http://localhost/bootstrap3/”
2)サンプルプログラム
require 'curb' c = Curl::Easy.new("http://localhost/bootstrap3/offcanvas.html") do |curl| curl.headers["User-Agent"] = "User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:28.0) Gecko/20100101 Firefox/28.0" curl.headers["Referer"] = "http://localhost/bootstrap3/" curl.verbose = true curl.proxy_url = '127.0.0.1:8888' #Fiddler監視用 end c.http_get web_page = c.body_str result = web_page.scan(/(<a\s.*<\/a>)/) result.each{|x| print x,"\n" } ?>
3)Apacheアクセスログの確認
127.0.0.1 – – [09/May/2014:21:44:44 +0900] “GET /bootstrap3/offcanvas.html HTTP/1.1” 200 6628 “http://localhost/bootstrap3/” “User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:28.0) Gecko/20100101 Firefox/28.0”