Perlを使って2ちゃんねるにHello Worldを書き込む

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2007/07/15(日) 16:16:50
俺、がんばる。みてて。
2007/07/15(日) 16:23:17
とりあえず、http://www.activestate.com/ からperlをインストール。

というか、すでに入っているんだけど^^;
2007/07/15(日) 16:46:02
さて、httpをしゃべるライブラリには何を使ったら良いだろうか?
むかし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用ライブラリ?
2007/07/15(日) 17:10:48
あぁ、やっとわかったよ。
http://d.hatena.ne.jp/keyword/curl

ライブラリとしてのlibcurl、それをコマンドラインから使用するcurl。
それとはまったく別の、次世代ウェブ記述言語Curlがあるんだね。

>>5さんがいっているのはコマンドライン用Curl?

悪くは無いんだけど、共有レンタルサーバーでも使えるようなやり方を
目指しているので。でもあとで使うよ!
2007/07/15(日) 17:15:09
ところで、phpではlibcurlを使うのかな?
とりあえず、必要と思われる機能は
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が簡単だお
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/';
2007/07/15(日) 17:23:55
>>11
Javaかぁ、もっと大規模なのを作るときは使うけど、
簡単なツールレベルだと、ちょっと重く感じるな。
あと共有サーバーじゃ大概つかえないし。
2007/07/15(日) 17:25:40
しかし、PerlではLWPを使うのが基本でいいのだろうか?
今はもっといいのがあるのではないかと思いながら、ぐぐっていると

ここみれば出来そう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」かということすら判定する必要はありません。
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";
}
2007/07/15(日) 17:55:21
荒らしスクリプトをオープンで作ってる・・・
2007/07/15(日) 17:59:35
>>18
違いますよ。ただの2ちゃんねるブラウザですよ。^^;
2007/07/15(日) 18:13:22
ちょっとIEがだすhttpヘッダみたいから、これいれる。
http://www.blunck.info/iehttpheaders/iehttpheaders.html
2007/07/15(日) 18:22:23
あれ?>>20のやつVistaで動かない。XP上のIE7なら動いていたんだが・・・
まあ、それならそれで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" がセットされており、
送信するときに、上記のクッキーを送っている。まあ無視して良いだろう。
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=""もあるがスレ立て時に使われるのか?)
そこらへんを見れば、クッキー名や値が変わっても対応できるのかもしれない。
2007/07/15(日) 19:16:15
どうやら、書き込むときに
hana=mogera と
PON = 俺のホスト名 が
無ければいけないようだ。

hana=mogeraはさっきも書いたように同意するかどうか、
PONが変わる(つまり回線をつなぎなおしたとき)は確認画面に飛ばされる。

HAPはなんだろう?無くても書き込めるようだがまたセットさせられる。
さてぐぐるかw
2007/07/15(日) 19:28:22
そういや、ルータを使っている場合に自分のホスト名って
(外部のサーバーなしに)取得できるんかいな?

ルータのUPnP機能に問い合わせればわかるようなことを
以前見た気がするが・・・

まあ、2ちゃんねるに限れば、普通にアクセスして
戻ってきたクッキーをちゃんと記憶すればいいだろうけど。
2007/07/15(日) 20:00:15
ふう。風呂はいっていたよ。

さてのんびりやるぞ!

これからの投稿予定は次のとおりとなっております。お楽しみに。

・POSTを使ったデータ送信
・クッキーの取得
・クッキーの送信
・書き込めた!
・やっぱ文字コードはUNICODEでしょ!
・BASIC認証がある場合は・・・
・それ以外認証ページは・・・
・httpsページにトライ!
・そしてphp版へ・・・
・そしてCurl版へ・・・
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況