■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■               CGI3分クッキング                                  Vol:018                          発行日: 1999年9月7日                        総発行部数:     1186部                          (1999年9月1日現在) ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ◆PR◆--------------------------------------------------------- ●「いづつ屋」ホームページ開設!!  Web新撰組ご用達のお肉屋さん「いづつ屋」が、この度  インターネット通信販売を始めました。  お味は、Web新撰組メンバー一同が保証いたします!!  めちゃくちゃ美味しいお肉を、是非ご賞味下さいませ。  http://www.tanba-izutsuya.com/ ---------------------------------------------------------◆PR◆ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ◆目次◆ ●お知らせ ●Web新撰組ニュース ●今日の献立:出張ぜんまいはぎちゃんその1 ●予告 ●はぎちゃん今日のひとこと ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ◆PR◆--------------------------------------------------------- ▼▼なかなかインターネットが繋がらないそんな方はSANNETへ▼▼ ▲1ポートあたりの会員数を10名以下に限定! スイスイインターネット▲ click< http://a.clickincome.net/md/dk?mid=8a5f6a42c199fd208e3a00bdfd8fbc17 > ---------------------------------------------------------◆PR◆ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ●お知らせ   今週から一子相伝 不破流文章奥義(http://www.web-kyoto.com/dp/fuwa01/) に合わせてデザインを変更しました。   これはCGI3分クッキングです。変な広告メールではありませぬ。 ●Web新撰組ニュース   いよいよ出ました、Web新撰組メンバー執筆のCGI参考書。   「Perlで作る楽しいCGI」は、エーアイ出版のエーアイムックNo.237。   2000円持って本屋さんへGO! ●今日の献立:出張ぜんまいはぎちゃんその1  ・最初に。。。   最初にお断りしておきます。   今回から始まる「出張ぜんまいはぎちゃん」は、使い方によっては非常にはた 迷惑なものです。   よって、これを使って「友人と喧嘩になった」とか「プロバイダから追い出さ れた」等の事があっても、わたくしとしては責任を持ちません。   出張先のページの持ち主の諒解の上で使用して下さい。  ・ソケットでポン   Web新撰組ニュースにも書きましたが、「Perlで作る楽しいCGI」って本が 発売されまして、その中に、ソケットを使ってメールを送るサブルーチンなるもの が紹介されています。   (の筈です。ってのは、まだでき上がった本を見てないので・・・)   で、そのソケットを使うってのは、こんなサブルーチンです。 sub openSocket { local($filehandle, $remotehost, $service, $localhost) = @_; local($socket_template, $tcp, $localhost_address, $remotehost_address, $localhost_port, $remotehost_port, $selected_filehandle); require 'sys/socket.ph' || return (0); # use Socket; #上の行でうまく動かない時はこっち chop ($localhost = `/bin/hostname`) unless length($localhost); $socket_template = 'S n a4 x8'; $tcp = (getprotobyname('tcp'))[2]; $service = (getservbyname($service, 'tcp'))[2] unless ($service =~ /^\d+$/); $localhost_address = (gethostbyname ($localhost))[4]; $remotehost_address = (gethostbyname ($remotehost))[4]; $localhost_port = pack($socket_template, &AF_INET, 0, $localhost_address); $remotehost_port = pack($socket_template, &AF_INET, $service, $remotehost_address); socket($filehandle, &AF_INET, &SOCK_STREAM, $tcp) || return(0); bind($filehandle, $localhost_port) || return (0); connect($filehandle, $remotehost_port) || return (0); $selected_filehandle = select($filehandle); $| = 1; select($selected_filehandle); }   このサブルーチンに、ファイルハンドル、リモートホスト名、サービス名、 ローカルホスト名を与えると、指定したリモートホストのサービスのソケットを 開いてくれます。   開いた後はファイルハンドルを使って通信が出来る、というなかなか便利な ものです。   例えば、サービス名にsmtpを指定すると、25番のソケットを開きます。   (サービス名とソケットについては、/etc/servicesに記述されています。 こんな感じ、、、smtp 25/tcp)  ・どんな使い道があるかいな?   で、サービス名指定して通信出来るのはいいけど、どういう使い道があるか って話になりますわな。   前述の本では、メールを送ろうってな事をやってます。   ソケット開いた後でSMTPのコマンドを使ってメールを送っています。   それ以外に使い道は・・・と考えますと、皆さまおなじみのhttpd(WWW サーバー)がありますね。   ところがどっこい、httpdはサーバーによってソケット番号が違っていたり、 キャッシュサーバーを間にかましている場合があるので一筋縄にはいきません。   では、httpdとうまく交信出来るか、ちょっと試してみましょう。   試すには、telnetを使います。接続先は、とりあえず自分のページを置いて いるホストにしましょう。   一般的にhttpdのソケット番号は80番なので、   $ telnet httpdホスト名 80   ってしてみて下さい。(例えば、telnet www.henokappa.ne.jp 80てな具合) Trying xxx.xxx.xxx.xxx ... Connected www.henokappa.ne.jp Escape character is '^]'.   というような表示が出たら接続完了です。   次に、 GET http:// www.henokappa.ne.jp/~kappa/index.html   という感じで、あなたのページのURLを指定します。   うまく行けば、あなたのページが表示され、最後に、 Connection closed by foreign host.   と表示されて接続が切れます。   GETはhttpdのコマンドで、ページを読むってものです。通常ブラウザ を使って読むのと同じです。  ・それでどうやねん?   ここまで読むと、何を企んでいるかだいたい分かって頂けると思い ます。GET URLでページを開けるのなら、URLの部分がCGIであれば、よそ にあるCGIをブラウザを使わずに動かす事が出来るって事になります。   そこで、Perlを使って、よそにあるチャットCGIにこっちで用意した 人口無能の発言を無理やり書き込んでしまおう、てなわけです。   怪しい雰囲気を漂わせながら・・・・続く ◆予告◆-------------------------------------------------------- ●次回はチャットCGIのお話しです --------------------------------------------------------◆予告◆ このメールマガジンは、 Subject部が、CGI3分クッキング【Vol.番号】は、まぐまぐ様にて、 ( http://www.mag2.com/ ) Subject部が、CGI3分クッキング Vol.【番号】は、Macky様にて、 ( http://macky.nifty.ne.jp/ ) Subject部が、CGI3分クッキング番号 は、Pubzine様にて、 配布致しています。 メールマガジンの解除について まぐまぐ様の解除は、 http://www.web-kyoto.com/dp/3min/ に、削除及び登録フォームを用意致しております。 Macky様の解除は、 http://macky.nifty.ne.jp/ を参考して下さい。 Pubzine様の解除は、 http://www.pubzine.com/srchid.asp?keyword=1379 に、削除及び登録フォームを用意致しております。 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ◆はぎちゃん今日のひとこと◆------------------------------------------  ●立ち読みしないで買ってくれよぅ・・・ ------------------------------------------◆はぎちゃん今日のひとこと◆ ◆PR◆--------------------------------------------------------- ▽御社ホームページのディスク容量、全て必要? コスト、高すぎませんか?▽ ▼リムネットならではのナットク価格、月5,000円の独自ドメインサーバー!▼ click< http://a.clickincome.net/md/dk?mid=66a99a1b67d3e8d39297bda26e0d5db4 > ---------------------------------------------------------◆PR◆ ◆お願い◆ このマガジンについてのお問い合わせは、WEB新撰組メーリングリストで、 お願い致します。 参加方法は、 http://www.web-kyoto.com/ml/ を参考にして下さい。 ◆担当者◆ 本文文責    :Web新撰組プログラマー萩原逸郎 Web新撰組  :http://www.web-kyoto.com/ ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■