■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ CGI3分クッキング Vol:021 発行日: 1999年9月17日 総発行部数: 1247部 (1999年9月16日現在) ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ◆PR◆--------------------------------------------------------- ●「いづつ屋」ホームページ開設!! Web新撰組ご用達のお肉屋さん「いづつ屋」が、この度 インターネット通信販売を始めました。 お味は、Web新撰組メンバー一同が保証いたします!! めちゃくちゃ美味しいお肉を、是非ご賞味下さいませ。 http://www.tanba-izutsuya.com/ ---------------------------------------------------------◆PR◆ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ◆目次◆ ●Web新撰組ニュース ●今日の献立:出張ぜんまいはぎちゃんその4 ●予告 ●はぎちゃん今日のひとこと ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ◆PR◆--------------------------------------------------------- ┏━━━━━━━━━━━━▼全商品 送料無料▼━━━━━━━━━━━━━┓ ┃ ケータイ編集王2000・着メロ編集王・デジカメ編集王 他 特価販売中!┃ click< http://a.clickincome.net/md/dk?mid=e39071378b7111c8dd274a7b87bac9e0 > ---------------------------------------------------------◆PR◆ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ●Web新撰組ニュース Web新撰組メンバー執筆のCGI参考書。 「Perlで作る楽しいCGI」は、エーアイ出版のエーアイムックNo.237。 内容についての御質問は、新撰組ML(http://www.web-kyoto.com/ml/)へ。 ●今日の献立:出張ぜんまいはぎちゃんその4 今回も出張ぜんまいはぎちゃんの続きです。 出張ぜんまいはぎちゃんは、他の人が別のサーバーに設置しているチャットに 人口無能のぜんまいはぎちゃんの発言を無理やり書き込むCGIです。 例えば、現在ぜんまいはぎちゃんはこちらに出張しています。 http://www.okosama.net/cgi/chat2.cgi (おこさまさん作「二日酔いげろげろちゃっと」) 「ぜんまいはぎちゃんボタン」を押すとぜんまいはぎちゃんの発言が書き込まれ ますが、これは、おこさまさんの所にぜんまいはぎちゃんを設置しているのではなく わたしが作ったものが書き込みに行っています。 さて今回は、前回紹介したサブルーチンを使って、よそのチャットの書き込み から、データを盗みましょう。 よそのチャットのURLを仮に http://www.karikari.ne.jp/~karikari/cgi-bin/karikarichat.cgi サーバーのアドレスを www.kh.rim.or.jp とします。 また、ぜんまいはぎちゃんは、CGI100番勝負No.38 http://www.web-kyoto.com/100/chat/no38/ に付属のzhagi3.plを使います。 ------------------------------------------------------------- 1:#!/usr/local/bin/perl 2: 3:require 'jcode.pl'; 4:require './www.pl'; 5:require './zhagi3.pl'; 6: 7:$chaturl="http://www.karikari.ne.jp/~karikari/cgi-bin/karikarichat.cgi"; 8:$chathost="www.karikari.ne.jp"; 9 10:$hhttp_status=0; 11: 12:$hhttp_status=&httpSend($chaturl,$chathost,1,90); 13:&error(500) if($hhttp_status == 0); ------------------------------------------------------------- 今回は解説の為に行番号を付けてみました。 4行目で前回作成したwww.plを、5行目でzhagi3.plを読み込みます。 7,8行目は、それぞれ盗んでくるチャットのURLとホスト名です。 12行目で、チャットの書き込みを得ています。 &httpSend($chaturl,$chathost,1,90); のオプションのうち3つ目は、読み込んだデータを@buf変数に入れる、というフ ラグです。 このサブルーチンは正常終了すると1を返しますので、もし$hhttp_statusが0の ままであれば、エラー表示を行います。 さて、ここまでで、なんとも簡単によそのチャットのデータを取ってきてしまっ たのですが、このデータの中から最新の書き込みを抽出するにはどうしたらよいで しょう? そこで、今度は http://www.karikari.ne.jp/~karikari/cgi-bin/karikarichat.cgi のソースを見てみます。 ブラウザのページのソースを表示、をクリックすると、こんなものが表示され ます。 -------------------------------------------------------------
[Top]| はぎちゃん:ほえほえ〜〜 255.255.255.255 at 9/16.12:49.JST |
| はぎちゃん:ほえほえ〜〜 255.255.255.255 at 9/16.12:49.JST |
| はぎちゃん:ほえほえ〜〜 255.255.255.255 at 9/16.12:49.JST |
| はぎちゃん:ほえほえ〜〜から後ろをカットします。
$mess = $buf[15];
$mess = (split(/ /,$mess))[0]; ほえほえ〜〜の後には があるので、これを区切りにしてその前の部分を抽出 しました。これで、$messの値は、「
|