プロが教える店舗&オフィスのセキュリティ対策術

今まで、自分のサイト・サーバー内の日記(自家CGI)の、最新記事だけトップページにSSIで表示していました。
今度、日記にブログ(外部サーバー)を取り入れたのですが、それがいつ更新されたのかを自分のサイトのトップページに表示させる方法はありますでしょうか?
SSIは外部サーバーの為勿論使えませんよね・・・。

このカテゴリであっているのかわかりませんが、よろしくオネガイシマス。m(ーvー)m

A 回答 (2件)

 えとですね……。



--------------------------○
#!/usr/local/bin/perl
$host = 'www.provider.com';
$path = '/~account/index.htm';
use Socket;
$address = inet_aton($host) || return -1;
$sockaddress = sockaddr_in(80, $address);
socket( SOCK, PF_INET, SOCK_STREAM, getprotobyname('tcp')) || return -1;
connect( SOCK, $sockaddress ) || return -1;
binmode(SOCK);
select(SOCK);
$| = 1;
select(STDOUT);
print SOCK "HEAD $path HTTP/1.0\r\n";
print SOCK "Host: $host\r\n";
print SOCK "Connection: close\r\n";
print SOCK "\r\n";
@head = <SOCK>;
close(SOCK);
map{if(/^date:\s*([^\r\n]+)[\r\n]*$/i){print $1;}}@head;
print '';
exit;
--------------------------○

 このプログラムを hizuke.cgi とかファイルに保存して、パーミッションを 755 にして、あとはSSIとして呼び出せばOKのはずです。
 でも巧く動かなかったらあしからず(^_^;
    • good
    • 0
この回答へのお礼

追記ありがとうございます!
がんばってみたのですが、InternalServerErrorから抜け出せませんでした(汗

ですが、BlogのRDFファイルの更新状況を表示できるプログラムを見つけまして、なんとか質問の希望のことはできるようになりました!

わざわざプログラム書いていただいたのに申し訳ありません、ありがとうございました。
また何かありましたらお願いします。

お礼日時:2004/08/27 11:51

 SSIでやる方法はあるにはありますが……。


 ソケット開いて HTTP プロトコルの HEAD メソッドを発行するとか、そういう方法です。
 ……分かります?(^_^;

--------------------------○
$host = 'www.provider.com';
$path = '/~account/index.htm';
use Socket;
$address = inet_aton($host) || return -1;
$sockaddress = sockaddr_in(80, $address);
socket( SOCK, PF_INET, SOCK_STREAM, getprotobyname('tcp')) || return -1;
connect( SOCK, $sockaddress ) || return -1;
binmode(SOCK);
select(SOCK);
$| = 1;
select(STDOUT);
print SOCK "HEAD $path HTTP/1.0\r\n";
print SOCK "Host: $host\r\n";
print SOCK "Connection: close\r\n";
print SOCK "\r\n";
@head = <SOCK>;
close(SOCK);
--------------------------○

 多分これでイケるんじゃないかなーとか思っちゃったりしますが(^_^;
 $host と $path に取得したいURLに関する情報をセットすると、最後の @head の中に、相手先の更新日付とかそういうのがHTTP形式で戻ってくるハズ。
 ハズ、ハズ(^_^;

 動かなかったらデバッグは自分でやってください(笑)

この回答への補足

さっそくのご回答ありがとうございます!
ところで、これは*.cgi等のファイルにすればいいのでしょうか?
そしてそのCGIをSSIで読み込めば更新日時が表示されるのでしょうか?
半分わかったようなわかんないような…ド素人ですみませんが、よろしくおねがいします(>x<;)

補足日時:2004/08/26 10:36
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!