通常のブラウザからのHTTPリクエストに近づけるため、HTTPヘッダーにエージェントとリファラーを設定する方法を確認しました。
※目次をクリックすると目次の下部にコンテンツが表示されます。
HTTPヘッダーを確認する方法
1)Webパケットモニタリングツールでモニタする
例えば下記ツールをインストールしてモニタします。
Fiddler
http://www.telerik.com/fiddler
・ブラウザによる通信は、Fiddlerを起動すると自動でモニタできます。
・Ruby curbを使った通信をモニタリングする場合は、下記のようにプロキシーのポートの設定を行います。
:proxy => ‘http://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
http://www.telerik.com/fiddler
・ブラウザによる通信は、Fiddlerを起動すると自動でモニタできます。
・Ruby curbを使った通信をモニタリングする場合は、下記のようにプロキシーのポートの設定を行います。
:proxy => ‘http://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 open-uriサンプルプログラム
1)リファラーとユーザーエージェントの設定
下記のように設定できます。
“User-Agent” => “User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:28.0) Gecko/20100101 Firefox/28.0”,
“Referer” => “http://localhost/”,
2)サンプルプログラム
下記のように設定できます。
“User-Agent” => “User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:28.0) Gecko/20100101 Firefox/28.0”,
“Referer” => “http://localhost/”,
2)サンプルプログラム
require 'open-uri' open("http://localhost/ng/offcanvas.html", "User-Agent" => "User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:28.0) Gecko/20100101 Firefox/28.0", "Referer" => "http://localhost/", :proxy => 'http://127.0.0.1:8888') {|f| puts f.read }
3)Apacheアクセスログの確認
127.0.0.1 – – [22/Dec/2014:10:44:29 +0900] “GET /ng/offcanvas.html HTTP/1.1” 200 5948 “http://localhost/” “User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:28.0) Gecko/20100101 Firefox/28.0”
- CentOSにcurb(ruby)をインストールする手順
- Windows7にcurb(ruby)をインストールする手順
- Windows7の環境でRubyでMySQLに接続する手順
- Ruby curbでリファラーとユーザーエージェントを設定してWebページを取得
- Windows7でruby2、open-uriを使ってWebページを取得
- Ruby open-uriでリファラーとユーザーエージェントを設定してWebページを取得
- Ruby curb、scan、gsubを使ってWebページから特定の情報を抽出
- RubyでWebサイト上のPDFファイルの情報を取得
- RubyでWebサイト上のエクセルファイルの情報を取得
- Rubyで既存のエクセルファイルにデータを追加
- RubyでWebページの応答時間を計測し、メールで通知
- Ruby curbでPOSTデータ送信
- curbでRailsアプリのクッキー、セッションIDを取得し、ログイン
- Ruby mysql2でSQLインジェクション対策
- Ruby mysql2でデータをテーブルに登録