JDBな人生  専門的なことから日常的なことまで~ まぁ自由きままに書いていきます。
2017年08月 / 07月<< 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 >>09月

アクセスランキング

[ジャンルランキング]
コンピュータ
385位
アクセスランキングを見る>>

[サブジャンルランキング]
プログラミング
52位
アクセスランキングを見る>>

PerlのLWP::UserAgentでPOST/プロキシを使ってみる

何だかんだで、自分のサイトから別のサイトにPOSTをする必要があったので、色々と調べた結果、案外簡単に実装できました。

単にPOST
use LWP::UserAgent;
$ua = new LWP::UserAgent;
my $req = new HTTP::Request POST => "http://url/";
$req->content_type('application/x-www-form-urlencoded');
$req->content("aaa=AAA&bbb=BBB");
my $res = $ua->request($req);
#結果を出力
print $res->content;

プロキシ設定
use LWP::UserAgent;
$ua = new LWP::UserAgent;
$ua->proxy("http", "http://プロキシ:ポート番号/");
my $req = new HTTP::Request POST => "http://url/";
$req->content_type('application/x-www-form-urlencoded');
$req->content("aaa=AAA&bbb=BBB");
my $res = $ua->request($req);
#結果を出力
print $res->content;

UA・リファラ設定
use LWP::UserAgent;
$ua = new LWP::UserAgent;
$ua->agent($ENV{"HTTP_USER_AGENT"});
$ua->proxy("http", "http://プロキシ:ポート番号/");
my $req = new HTTP::Request POST => "http://url/";
$req->referer("http://referer/");
$req->content_type('application/x-www-form-urlencoded');
$req->content("aaa=AAA&bbb=BBB");
my $res = $ua->request($req);
#結果を出力
print $res->content;


こんな感じです。
青字の部分を変えればそのまま使えます。


このLWPってのについて調べているときに、どっかの質問サイトで「Spam書き込みロボットに必要な技術なんで、あまり広まって欲しくないです。」となかなか狂った回答をしている人がいました。
それはおかしいですよね。

「ナイフで人を刺す人がいるからナイフは流通してほしくない」とか言っているようなものです。

正しい使い方をするかどうかは使用者の問題で、そういう回答になっていない回答をするなら何も答えなくて結構ですよね。(その質問を見たい人はここからどうぞ)


まあ確かにこの技術(上のサンプルソース)を使えば、人のブログに大量のスパムコメントを送りつけることも可能ですし、(ワザップみたいに対策がされていないところは特に)スパムに利用される可能性があるということは理解できます。

が、そういう個人的な意見を書くならせめて「質問に合った回答」+「コメント」で答えて頂きたいものです。

 


 
   Perl    TB(0)    CM(0)    EDIT    ページ↑

コメント投稿


 管理者だけに表示

コメント

トラックバック

この記事へのトラックバック:

プロフィール

JDB Luigi

Author:JDB Luigi
どこにでもいるようなありふれた人間・・・という訳でもなく、かと言って怪しい宗教を信仰する変人という訳でも無い。

基本的に掲載しているコード等は煮ていただいても焼いていただいても結構ですが、利用は自己責任にてお願いいします。
また、バグ・アドバイス等もしあればよろしくお願いします。