-PR-
解決済み

他のサーバーのファイルを読む

  • 暇なときにでも
  • 質問No.25413
  • 閲覧数394
  • ありがとう数4
  • 気になる数0
  • 回答数5
  • コメント数0

お礼率 52% (20/38)

ある人(私とは別のサーバー)にCGIを配布する予定です。CGIにアクセスすると、私のサーバーに存在するデータファイルを読んで、データが更新されているかチェックする、そんな機能がほしいのですが、一般的にどういう技術を使っているのか全く分かりません。簡単にアドバイスいただけたらと思います。よろしくお願いします。言語はPerlです。
通報する
  • 回答数5
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.3
レベル8

ベストアンサー率 35% (7/20)

参照したいファイルは別サーバーにあるんですよね。
Socket使ってサーバーにアクセスかけちゃダメですか?
私のサイトに「Get Site with Socket」というスクリプトがあります。
指定したアドレスのファイルの中身を取得するものなのですが、参考になれば。
ただSocketが利用できる環境じゃないとどうしようもないので・・・
参考URL:http://w3.to/sephy
お礼コメント
katsudon

お礼率 52% (20/38)

ありがとうございます!

Socketという名前は知っているのですが、何をするものなのかも知らないものでよく分からないのですが、基本的にたぶんそれでできるようですね。

早速スクリプトをDLして自分の別サイトのデータファイルのURLを入力したのですが、リクエストを送信できませんでしたとなりました。なんでだろ?

Socketについて記述のあるサイトを探して、深く調べてみたいと思います。それで全く進歩が無ければもう一度ここで質問したいと思います。

まだまだアドバイスは受けていますので何かありましたらお願いいたします。
投稿日時 - 2001-01-08 13:34:04
-PR-
-PR-

その他の回答 (全4件)

  • 回答No.1
レベル10

ベストアンサー率 39% (59/151)

ぱっと思いつくのはファイルの更新日時を比較して、
前回と違っていればメールなり、ポップアップウィンドウなりで知らせる方法でしょうか。
PerlはわかるんですがCGIは組んだ事がないので解らないのですが、アクセスするたびに更新日時をクッキーに保存しておけば先程挙げた方法でOKかと。
補足コメント
katsudon

お礼率 52% (20/38)

ありがとうございます!すみません、説明不足でした。分かりやすいようにと思ったのですが簡単に書きすぎました。
更新されているかチェックするのではなく、正確にはデータファイルの中身を読み込んで出力するということです。
投稿日時 - 2001-01-08 12:45:12


  • 回答No.2
レベル13

ベストアンサー率 37% (570/1525)

「CGIの走行するサーバ以外のサーバーに存在するファイルの更新確認」をしたいのですよね。
それとも「単にファイルの更新確認したい」ですか?

「katsudonさんのサーバーにCGIをおいてリモートで動かす」と言うのはダメなんですか?

各サーバのOSが知りたいところですね。
あと、katsudonさんのサーバにデーモンを追加して良いかどうかも。
補足コメント
katsudon

お礼率 52% (20/38)

ありがとうございます!もうすこしくわしく説明します。

私の作っているのは地図サイトMapFanWebのような(超ローカルな)地図表示CGIです。半不特定多数の人に配布して(配布するときにユーザー登録してもらう)、ローカル地図コンテンツを作ってもらいます。

そのCGIには、CGIユーザー通しを結ぶリンク(ローカル地図通しを結ぶリンク)を装着したいんです。簡単に言うと歌舞伎町サイトへのリンクだったり、センター街サイトへのリンクだったりです。

ただ、地図ソフトMapFanの使用条件の兼ね合いから私のサーバーに各ユーザへのリンクページを用意してアクセスしてもらうのではなく、登録情報を各ユーザーのCGIに配信してCGI側で表示してもらいたいのです。

というわけで、だれかがCGIにアクセスすると私の(正確には開発元は私なんですが配布元、登録先は別の人です)サーバーへ登録情報の入ったファイルを読みに行くということが必要になります。

私のサーバーから(リモートということになりますか?)積極的に配信するという方法があるのでしたら、それでも構いません。まあできればこちらがユーザーのサーバーに介入することはしたくないですが。

配布元が私ではないので、彼が配布元をやめたいといっても代わりの人のサーバーで動かせるよう、なるべくどんなサーバーでも動く技術を使いたらと思います。
投稿日時 - 2001-01-08 12:49:55
  • 回答No.4
レベル6

ベストアンサー率 50% (3/6)

 データをどのように受け渡すかが問題でしょうが、簡単にしようと思うなら
FTPやHTTPを利用してはいかがでしょうか?CGI配布先から katsudon さんの
HTTPやFTPサーバーに接続してデータを取ってくるのであれば、サーバー側の
準備も簡単にできると思います。クライアント側(CGI設置先)は、いずれにし
てもモジュール等を使えば簡単にファイル取得できますよ。
 ↑(モジュール等)について、質問がれあれば、またどーぞ。
補足コメント
katsudon

お礼率 52% (20/38)

やっと概要がわかりました。HTTPでウチのサーバーにアクセスしてもらうことにしました。できれば一点知りたいのですが、Socketモジュールというのは一般的にすでに実装されているものなんでしょうか?特にモジュールを用意していないのに、ソケット接続は動作しているのですが・・・。ん?Perl5に含まれているのですか?
投稿日時 - 2001-01-11 12:45:39
お礼コメント
katsudon

お礼率 52% (20/38)

ありがとうございます!
掲示板やカウンターを作るだけだとあまりFTPやソケットを必要としないので、
具体的にどういうことをするのか全く分からない状態です。

ソケットについては詳しい解説のあるサイトを早速見つけたのですが、
自分のモノにするにはまだ時間がかかりそうです。FTP、HTTPも同様の状態で
それぞれの利点を理解するには時間がかかります。

とりあえずFTP,HTTPについて具体的な方法を記述したサイトを探してみます。

ゆっくり進めていきますのでまたつまづいたらよろしくお願いします♪
投稿日時 - 2001-01-11 00:30:52
  • 回答No.5
レベル6

ベストアンサー率 50% (3/6)

 HTTPでアクセスするのであれば、LWPモジュールを使えば簡単ですよ。
 モジュールについては、CPAN(http://search.span.org/)で調べれます。
  LWPモジュール等については、下のURLを参考にどうぞ。
お礼コメント
katsudon

お礼率 52% (20/38)

ありがとうございます。
早速参考URL拝見しました。
いろいろなモジュールがあることは知っていましたが、
すべてについて日本語で解説があるのは嬉しいですね。
あのサイトを作った人には感謝しなければいけません。

モジュールについて全てが理解できてないので
まだLWPのよさというのがわかりませんが、
とりあえず、一般的なSocketから入っていきたいと思います。

将来的にこのスクリプトのメンテの仕事を他の人に受け継ぐかもしれません。
(私自身はKENTさんのようなスクリプト開発を趣味にしている人間ではないので)
そうした時に次の人が私のような初心者でも分かりやすいように、
処理が遅くても、なるべく基本から外れない単純な内容で
書いていきたいと思っています。
投稿日時 - 2001-01-12 23:23:19
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ