プロが教えるわが家の防犯対策術!

別サーバーのファイルを以下のようにすると、読み込みは可能となりました。
このファイルに書き込むロジックを調べているのですが、
中々見つかりません。
どのようにすれば、書き込む事が出来るのでしょうか。

$url = "http://www.test.jp/test.dat";
require LWP::UserAgent;
$ua = new LWP::UserAgent;

$request = new HTTP::Request('GET', $url);
$response = $ua->request($request);
if ($response->is_success) {
$content = $response->content;
}

@DATA = $content;

A 回答 (1件)

ネットワーク関連処理についてはあまり詳しくないので,素人考えでアドバイスさせていただきます.ご了承ください.



まず,質問文に書かれているコードでは,LWP::UserAgentモジュールを使用して,あるURLに対してHTTPのGETメソッドを送信することで,ファイルをリクエストし,レスポンスとしてファイルの内容を得ています.これはFirefoxやInternet ExplorerなどのWebブラウザでWebページを閲覧する場合と同じことをしているわけですから,誰にでも公開されているファイルなら読み込むことは可能ですよね.

一方,そのファイルに書き込みを行う場合,書き込む権限を持っている必要があります.別サーバというからには,そのサーバにアカウントを持っていて,サーバ同士で連携をとりたいということなのでしょうか.

その場合,接続元と接続先の両方のサーバの種類(WindowsサーバかLinuxサーバか,Perlのバージョンはいくつか,etc.)やあなたが持っている権限(Perlモジュールを自由に設定できるか,シェルコマンドは利用できるか,telnetやSSHを用いてサーバにログインできるか,FTP接続制限等はあるか,etc.),書き換えが必要となった経緯や理由などを書いておくと,回答が得られやすいかと思います.


参考までに,私が考えついた限りでは,

・Net::FTP等を使用してFTP経由で書き換える
・Net::SSH等を利用してリモートログインして書き換える
・接続先サーバに,リクエストに応じてファイル内容を書き換えるCGIを設置し,そのCGIを通して書き換える.(掲示板にメッセージ書き込むのと同じ原理です.)

というような方法が使えそうです.

この回答への補足

$ftp = Net::FTP->new("sxxx.xrea.com", Debug => 0);
$ftp->login("$id", "$pass");
$ftp->cwd("/public_html");
$ftp->get("index.html");
$ftp->quit;
調べましたが、これで実行しましたが、
このページは、表示出来ませんと言われました。
何処が駄目なんでしょうか。

補足日時:2008/07/27 17:38
    • good
    • 0
この回答へのお礼

解りました、有難う御座いました。

お礼日時:2008/07/28 01:19

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