2010年3月30日火曜日

 

【Perl】外部サーバとのファイル入出力

PHPには「file_put_contents()」と「file_get_contents()」があるから簡単ですが、Perlでファイルを読み書きする「open()」が扱えるのはローカルのファイルのみです。
調べると、「libwww-perl」を使ってアクセスするか「Net::FTP」を使ってファイルのやり取りをするのが簡単に出来ました。

LWP - libwww-perl

Perl - LWP - qzのメモ帳
/* 外部サーバからファイルを取得しローカルに保存 */
use LWP::Simple;
getstore("http://www.example.com/data/sample.csv", "data01.csv");

外部ファイルの内容の取得や、GETリクエストを送る「LWP::Simple」や、ヘッダを解析したりPOSTリクエストを遅れる「LWP::UserAgent」が有ります。

Net::FTP

Net::FTPでファイルのダウンロード・アップロードを自動化する - サンプルコードによるPerl入門

FTP通信をするモジュールです。ホスト名、ユーザ名、パスワードを使い、ファイルのダウンロードやアップロードが可能です。

/* 「Net::FTP」のサンプル */
use Net::FTP;

# FTPサーバへの接続(ホスト名、又はIPアドレス)
my $ftp = Net::FTP->new('www.example.com');

# ユーザ名とパスワードを指定してログイン
$ftp->login('user01', 'pass0123');

# getコマンドを使ってファイルをダウンロード
$ftp->get('public_html/data/sample.csv');
# putコマンドを使ってファイルをアップロード
$ftp->put('./data.log', 'public_html/data/data01.log');

# 接続を終了する
$ftp->quit;

ラベル:


コメント: コメントを投稿

登録 コメントの投稿 [Atom]



この投稿へのリンク:

リンクを作成



<< ホーム

This page is powered by Blogger. Isn't yours?

登録 投稿 [Atom]

Google