探検
Perlを使って2ちゃんねるにHello Worldを書き込む
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2007/07/15(日) 16:16:50 俺、がんばる。みてて。
2007/07/15(日) 16:23:17
2007/07/15(日) 16:46:02
さて、httpをしゃべるライブラリには何を使ったら良いだろうか?
むかしLWP::Simpleを使ったことはあるとはいえ、
Simpleっていうぐらいだからもっと高度なことをするときには
別のものがいいのだろうか?
むかしLWP::Simpleを使ったことはあるとはいえ、
Simpleっていうぐらいだからもっと高度なことをするときには
別のものがいいのだろうか?
2007/07/15(日) 16:49:03
>3で結果が見えたな
2007/07/15(日) 16:55:14
Perl でやるより Curl でやった方が楽だと思うが...
2007/07/15(日) 16:58:13
なんかCurlって名前のものいくつか無い?
言語? php用ライブラリ?
言語? php用ライブラリ?
2007/07/15(日) 17:10:48
あぁ、やっとわかったよ。
http://d.hatena.ne.jp/keyword/curl
ライブラリとしてのlibcurl、それをコマンドラインから使用するcurl。
それとはまったく別の、次世代ウェブ記述言語Curlがあるんだね。
>>5さんがいっているのはコマンドライン用Curl?
悪くは無いんだけど、共有レンタルサーバーでも使えるようなやり方を
目指しているので。でもあとで使うよ!
http://d.hatena.ne.jp/keyword/curl
ライブラリとしてのlibcurl、それをコマンドラインから使用するcurl。
それとはまったく別の、次世代ウェブ記述言語Curlがあるんだね。
>>5さんがいっているのはコマンドライン用Curl?
悪くは無いんだけど、共有レンタルサーバーでも使えるようなやり方を
目指しているので。でもあとで使うよ!
2007/07/15(日) 17:15:09
ところで、phpではlibcurlを使うのかな?
とりあえず、必要と思われる機能は
UserAgentなどのヘッダやクッキーをいろいろ設定してhtmlを読み込む。
帰ってくるヘッダやクッキーを読み取れる機能。
まあ、シンプルじゃないライブラリなら大概、対応しているだろう。
あと個人的に、proxy対応、https対応のライブラリであってほしい。
さぁ、どんなライブラリがあるのか探すぞ!
とりあえず、必要と思われる機能は
UserAgentなどのヘッダやクッキーをいろいろ設定してhtmlを読み込む。
帰ってくるヘッダやクッキーを読み取れる機能。
まあ、シンプルじゃないライブラリなら大概、対応しているだろう。
あと個人的に、proxy対応、https対応のライブラリであってほしい。
さぁ、どんなライブラリがあるのか探すぞ!
2007/07/15(日) 17:18:34
あと認証機能もほしいね。BASIC認証とかいろいろ
2007/07/15(日) 17:19:43
LWPってlibwww-perl の略だったのか。今頃気づいたwww
2007/07/15(日) 17:21:18
>>1
Javaが簡単だお
Javaが簡単だお
12獅子王
2007/07/15(日) 17:22:00 あの〜、ずいぶん久方ぶりの書き込みなんですけど僕もperlを使ってみたいなぁと思うんです。
だけどあの英語漬けのサイトで一体どうやればダウンロードできるのかわかりません。
誰か暇つぶしついでに教えていただけませんか?
だけどあの英語漬けのサイトで一体どうやればダウンロードできるのかわかりません。
誰か暇つぶしついでに教えていただけませんか?
2007/07/15(日) 17:22:26
とりあえず、肩慣らしにこのスレを読み込むコード
use LWP::Simple;
print get 'http://pc11.2ch.net/test/read.cgi/tech/1184483810/';
use LWP::Simple;
print get 'http://pc11.2ch.net/test/read.cgi/tech/1184483810/';
2007/07/15(日) 17:23:55
2007/07/15(日) 17:25:40
しかし、PerlではLWPを使うのが基本でいいのだろうか?
今はもっといいのがあるのではないかと思いながら、ぐぐっていると
ここみれば出来そうw
http://homepage3.nifty.com/hippo2000/perltips/LWP.html
今はもっといいのがあるのではないかと思いながら、ぐぐっていると
ここみれば出来そうw
http://homepage3.nifty.com/hippo2000/perltips/LWP.html
2007/07/15(日) 17:28:06
うほっ!らくだなw
http://digit.que.ne.jp/work/index.cgi?Perl%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%2FLWP#i3
LWPで、「https://」で始まるSSL使用サイトにアクセスできますか?
編集
できます。
LWPはCrypt::SSLeayがインストールされていれば、自動的にSSL使用サイトへのアクセスも適切に処理してくれます。
アクセス先が「https://」で始まっていても、スクリプトを変える必要はまったくありません。
それどころか、プロトコルが「http」か「https」かということすら判定する必要はありません。
http://digit.que.ne.jp/work/index.cgi?Perl%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%2FLWP#i3
LWPで、「https://」で始まるSSL使用サイトにアクセスできますか?
編集
できます。
LWPはCrypt::SSLeayがインストールされていれば、自動的にSSL使用サイトへのアクセスも適切に処理してくれます。
アクセス先が「https://」で始まっていても、スクリプトを変える必要はまったくありません。
それどころか、プロトコルが「http」か「https」かということすら判定する必要はありません。
2007/07/15(日) 17:37:42
よし、たいしたことができないであろう、LWP::Simpleじゃなくて、
もっといろいろできるであろうLWP::UserAgentを使ったコートだ
use LWP::UserAgent;
$ua = LWP::UserAgent->new;
$ua->agent("Mozilla/8.0");
$req = HTTP::Request->new(GET => 'http://pc11.2ch.net/test/read.cgi/tech/1184483810/');
$req->header('Accept' => 'text/html');
$res = $ua->request($req);
if ($res->is_success) {
print $res->content;
} else {
print "Error: " . $res->status_line . "\n";
}
もっといろいろできるであろうLWP::UserAgentを使ったコートだ
use LWP::UserAgent;
$ua = LWP::UserAgent->new;
$ua->agent("Mozilla/8.0");
$req = HTTP::Request->new(GET => 'http://pc11.2ch.net/test/read.cgi/tech/1184483810/');
$req->header('Accept' => 'text/html');
$res = $ua->request($req);
if ($res->is_success) {
print $res->content;
} else {
print "Error: " . $res->status_line . "\n";
}
2007/07/15(日) 17:55:21
荒らしスクリプトをオープンで作ってる・・・
2007/07/15(日) 17:59:35
>>18
違いますよ。ただの2ちゃんねるブラウザですよ。^^;
違いますよ。ただの2ちゃんねるブラウザですよ。^^;
2007/07/15(日) 18:13:22
ちょっとIEがだすhttpヘッダみたいから、これいれる。
http://www.blunck.info/iehttpheaders/iehttpheaders.html
http://www.blunck.info/iehttpheaders/iehttpheaders.html
2007/07/15(日) 18:22:23
あれ?>>20のやつVistaで動かない。XP上のIE7なら動いていたんだが・・・
まあ、それならそれでFirefoxのやつつかうけどさ
まあ、それならそれでFirefoxのやつつかうけどさ
2007/07/15(日) 19:00:03
とりあえず、クッキーとか何も持っていない状態でブラウザから普通に書き込むと、
POSTで以下の内容が送られるな。
submit=%8F%91%82%AB%8D%9E%82%DE
FROM=aaa
mail=bbb
MESSAGE=ccc
bbs=tech
key=10桁の数字
time=10桁の数字
そして、以下のクッキーを保存しろといってくる。意味はぐぐればわかるだろう
PON=俺のホスト; expires=Friday, 01-Jan-2010 00:00:00 GMT; path=/
HAP=7桁の数字; expires=Friday, 01-Jan-2010 00:00:00 GMT; path=/
JavaScriptが有効になっていると少し変わるようだ。
いつの間にか、NAME="aaa" MAIL="bbb" がセットされており、
送信するときに、上記のクッキーを送っている。まあ無視して良いだろう。
POSTで以下の内容が送られるな。
submit=%8F%91%82%AB%8D%9E%82%DE
FROM=aaa
mail=bbb
MESSAGE=ccc
bbs=tech
key=10桁の数字
time=10桁の数字
そして、以下のクッキーを保存しろといってくる。意味はぐぐればわかるだろう
PON=俺のホスト; expires=Friday, 01-Jan-2010 00:00:00 GMT; path=/
HAP=7桁の数字; expires=Friday, 01-Jan-2010 00:00:00 GMT; path=/
JavaScriptが有効になっていると少し変わるようだ。
いつの間にか、NAME="aaa" MAIL="bbb" がセットされており、
送信するときに、上記のクッキーを送っている。まあ無視して良いだろう。
23デフォルトの名無しさん
2007/07/15(日) 19:05:53 WWW::2chに書き込み機能は相変わらず無いのか?
2007/07/15(日) 19:10:52
>>23
そんなのがあるのかw あとでみてみる。
2ちゃんねるを知っている人には当たり前だろうが、
初めて書き込むときには、「上記全てを承諾して書き込む」がでる。
クッキー名hanaにmogeraが設定されているかどうかで判断されるようだ。
これは今現在の話なので将来は変わる?スレごとに違うのかな?
とりあえずクッキーを持たずに書き込むと飛ばされる「上記全てを承諾して書き込む」ページには
>>22で送られる内容にくわえ、hiddenでhana=mogeraが追加されている。(subject=""もあるがスレ立て時に使われるのか?)
そこらへんを見れば、クッキー名や値が変わっても対応できるのかもしれない。
そんなのがあるのかw あとでみてみる。
2ちゃんねるを知っている人には当たり前だろうが、
初めて書き込むときには、「上記全てを承諾して書き込む」がでる。
クッキー名hanaにmogeraが設定されているかどうかで判断されるようだ。
これは今現在の話なので将来は変わる?スレごとに違うのかな?
とりあえずクッキーを持たずに書き込むと飛ばされる「上記全てを承諾して書き込む」ページには
>>22で送られる内容にくわえ、hiddenでhana=mogeraが追加されている。(subject=""もあるがスレ立て時に使われるのか?)
そこらへんを見れば、クッキー名や値が変わっても対応できるのかもしれない。
2007/07/15(日) 19:16:15
どうやら、書き込むときに
hana=mogera と
PON = 俺のホスト名 が
無ければいけないようだ。
hana=mogeraはさっきも書いたように同意するかどうか、
PONが変わる(つまり回線をつなぎなおしたとき)は確認画面に飛ばされる。
HAPはなんだろう?無くても書き込めるようだがまたセットさせられる。
さてぐぐるかw
hana=mogera と
PON = 俺のホスト名 が
無ければいけないようだ。
hana=mogeraはさっきも書いたように同意するかどうか、
PONが変わる(つまり回線をつなぎなおしたとき)は確認画面に飛ばされる。
HAPはなんだろう?無くても書き込めるようだがまたセットさせられる。
さてぐぐるかw
2007/07/15(日) 19:28:22
そういや、ルータを使っている場合に自分のホスト名って
(外部のサーバーなしに)取得できるんかいな?
ルータのUPnP機能に問い合わせればわかるようなことを
以前見た気がするが・・・
まあ、2ちゃんねるに限れば、普通にアクセスして
戻ってきたクッキーをちゃんと記憶すればいいだろうけど。
(外部のサーバーなしに)取得できるんかいな?
ルータのUPnP機能に問い合わせればわかるようなことを
以前見た気がするが・・・
まあ、2ちゃんねるに限れば、普通にアクセスして
戻ってきたクッキーをちゃんと記憶すればいいだろうけど。
2007/07/15(日) 20:00:15
ふう。風呂はいっていたよ。
さてのんびりやるぞ!
これからの投稿予定は次のとおりとなっております。お楽しみに。
・POSTを使ったデータ送信
・クッキーの取得
・クッキーの送信
・書き込めた!
・やっぱ文字コードはUNICODEでしょ!
・BASIC認証がある場合は・・・
・それ以外認証ページは・・・
・httpsページにトライ!
・そしてphp版へ・・・
・そしてCurl版へ・・・
さてのんびりやるぞ!
これからの投稿予定は次のとおりとなっております。お楽しみに。
・POSTを使ったデータ送信
・クッキーの取得
・クッキーの送信
・書き込めた!
・やっぱ文字コードはUNICODEでしょ!
・BASIC認証がある場合は・・・
・それ以外認証ページは・・・
・httpsページにトライ!
・そしてphp版へ・・・
・そしてCurl版へ・・・
2007/07/15(日) 21:05:45
とても楽しめそうにない件について。
2007/07/15(日) 21:19:28
2007/07/15(日) 21:25:47
楽しいなあ
楽しいなあ
楽しいなあ
楽しいなあ
楽しいなあ
2007/07/15(日) 22:04:46
どうも荒らしスクリプトを作ろうと思っている様にしか思えんなぁ。
そもそも人にきかなきゃわからんレベルの人間がやるものでもないし。
そもそも人にきかなきゃわからんレベルの人間がやるものでもないし。
2007/07/15(日) 22:08:02
俺、別に聞いてないし・・・・。
2007/07/15(日) 22:22:52
何でもしたり顔でケチ付けようとする人間はいるもんだよ
自分でも言ってる意味が分かってないから、反論しても無駄
自分でも言ってる意味が分かってないから、反論しても無駄
2007/07/15(日) 22:28:28
必死だな。
35デフォルトの名無しさん
2007/07/15(日) 22:51:57 何事にも必死に取り組まなければ2ちゃんねらになっちゃう!!
そう子供たちに教えるべきだね。
そう子供たちに教えるべきだね。
2007/07/15(日) 23:46:11
キチガイがいるな
2007/07/16(月) 00:13:27
38test
2007/07/16(月) 02:34:11 test
2007/07/16(月) 02:34:57
あー。書き込めちゃった。まあゆっくりやるかw
2007/07/16(月) 08:42:43
脳内妄想が激しいスレだな
2007/07/16(月) 09:38:59
暗いスレだな
2007/07/16(月) 13:34:11
ていうか君以外のレスは全部 perl で書かれた bot がやってるって知ってた?惟も含めて。
2007/07/16(月) 15:27:23
日本語OK?
2007/07/16(月) 15:34:37
縺薙l縺ッ繝悶Λ繧ヲ繧カ縺九iUTF8縺ァ譖ク縺崎セシ繧薙□譁?蟄?
2007/07/16(月) 16:25:06
はいはい、またーりいくよ。
テスト用に、サーバーに送信したデータをそのまま表示するだけのphpコード
ちゃんと送られているかこれで確認!
<?php
header("Content-Type: text/plain");
print "[REQUEST]\n"; print_r(apache_request_headers());
print "[SERVER]\n"; print_r($_SERVER);
print "[GET]\n"; print_r($_GET);
print "[POST]\n"; print_r($_POST);
print "[COOKIE]\n"; print_r($_COOKIE);
print "[FILES]\n"; print_r($_FILES);
?>
IEはダウンロードしやがるぜ。けっ
テスト用に、サーバーに送信したデータをそのまま表示するだけのphpコード
ちゃんと送られているかこれで確認!
<?php
header("Content-Type: text/plain");
print "[REQUEST]\n"; print_r(apache_request_headers());
print "[SERVER]\n"; print_r($_SERVER);
print "[GET]\n"; print_r($_GET);
print "[POST]\n"; print_r($_POST);
print "[COOKIE]\n"; print_r($_COOKIE);
print "[FILES]\n"; print_r($_FILES);
?>
IEはダウンロードしやがるぜ。けっ
2007/07/16(月) 20:07:51
さあて、いよいよpostだ。実際に動かすときは自分のサーバーに置いた
スクリプト(>>45でいい)に向けてpostするように。
use LWP::UserAgent;
$ua = LWP::UserAgent->new;
$ua->agent("Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1)");
$req = HTTP::Request->new(POST => 'http://www.example.com/test.php?getdata=gettest');
$req->header(
'Accept' => '*/*',
'Accept-Language' => 'ja-JP,en-US;q=0.5',
'Referer' => 'http://www.example.com/',
);
$req->content_type('application/x-www-form-urlencoded');
$req->content('postdata=posttest');
print $ua->request($req)->as_string;
スクリプト(>>45でいい)に向けてpostするように。
use LWP::UserAgent;
$ua = LWP::UserAgent->new;
$ua->agent("Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1)");
$req = HTTP::Request->new(POST => 'http://www.example.com/test.php?getdata=gettest');
$req->header(
'Accept' => '*/*',
'Accept-Language' => 'ja-JP,en-US;q=0.5',
'Referer' => 'http://www.example.com/',
);
$req->content_type('application/x-www-form-urlencoded');
$req->content('postdata=posttest');
print $ua->request($req)->as_string;
2007/07/16(月) 21:23:57
Hello World
2007/07/16(月) 21:31:30
なんか資料見つけたので追加
http://age.s22.xrea.com/talk2ch/
http://age.s22.xrea.com/talk2ch/
2007/07/16(月) 22:12:37
Hello World 2
2007/07/16(月) 22:22:18
うーん。postするときのtimeの数字ってなんだろう?
日付に直すと Sun, 02 Jan 2005 17:55:08 GMT なんだが、
どこから取得すればいいのだ?
htmlのフォームから取得できるのはわかるが・・・
日付に直すと Sun, 02 Jan 2005 17:55:08 GMT なんだが、
どこから取得すればいいのだ?
htmlのフォームから取得できるのはわかるが・・・
2007/07/16(月) 22:37:29
Hello World 3
2007/07/16(月) 22:38:34
Hello World 3
2007/07/16(月) 22:40:05
Hello World 3
2007/07/16(月) 22:41:19
Hello World 3
2007/07/16(月) 22:42:24
よくわからんが、現在時刻マイナス? で書き込めるようだ。
2007/07/16(月) 23:03:50
ここでテストするのはやめれ。運営にチクるぜー?
2007/07/17(火) 00:09:52
通報しますた
2007/07/17(火) 01:46:58
あぼーんだらけの某板に書いてみるとか
2007/07/17(火) 08:54:34
最悪板あたりでやればいいのでは
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市政権の核兵器保有発言「事実なら非常に深刻な事態。国際社会は警戒すべき」中国 ★3 [お断り★]
- 【野球】メジャー挑戦・村上宗隆 22日に期限迫るも市場沈黙… 三振率や変化球対応を懸念 「日本Uターン」悪夢が現実味 米報道 [冬月記者★]
- 松村沙友理「いい女っていっぱいおるけどいい男あんまおらんくない?30オーバーでいい男性ってみんな結婚してる」★2 [muffin★]
- 人気YouTuberヒカル、進撃のノアとの離婚を発表! 「0日婚」からわずか6か月、スピード離婚の真相を激白 [冬月記者★]
- 高市首相、円安・物価高で利上げ容認 昨年「あほ」と批判も…就任後は財政拡張批判も意識 ★2 [蚤の市★]
- 【赤坂サウナ火災】「通風口」叩き助け求めたか…夫には広範囲“やけど”の痕あり妻を熱からかばおうと覆い被さった可能性 ★2 [ぐれ★]
- 【実況】博衣こよりのえちえちスーパーダンガンロンパ7🧪
- 36歳ママ、自宅で16歳の長男と11歳の二男と9歳の三男を斧などで殺した後に子殺し自殺 夕方帰宅したパパが家に入れず110番して発覚 東京 [597533159]
- 射精管理されてるような曲が好きなんだが
- 【速報】日英GDP逆転、世界6位の経済規模に転落 [237216734]
- 【高市】玉木雄一郎「オフレコを記事にするメディアも問題では?」 [834922174]
- 【高市】処方箋1100品目を自費負担にすることを自民と維新が合意、来年実施へ「解熱剤、湿布、アレルギー、アトピー薬など」 [817260143]
