Perlの小部屋
Perlのプログラミングや利用方法を基本的を中心に情報提供しています

Webアクセス

Perlはインタプリタな言語です。ソースコードを直接解釈実行します。C言語などのようにコンパイル後に実行ファイルを作成するのではなく、ソースコードに記述された内容を実行時に順次処理していきます。

LWP

Libwww-perl は World-Wide Web への簡単で一貫性のあるプログラミング インターフェース (API) を提供する Perl モジュールの集まりです。Request(リクエスト)オブジェクトとユーザ・エージェント(User Agent)を指定URLのソースを取得します

use Net::SSL;
use LWP::UserAgent;
use HTTP::Request;

# urlを指定する
my $url = 'https://www.plus-web.co.jp';

my $ua = new LWP::UserAgent;
$ua->agent('Mozilla/4.0 (compatible; MSIE 6.0\'; Windows NT 5.0;)');

my $request = new HTTP::Request('GET', $url); 
my $response = $ua->request($request); 
if ($response->is_success){
	$content = $response->content;
}else{
#エラー処理
}

# $contentにはhtmlのソースコードが代入されます

FTP接続

対象のディレクトリから ファイルのダウンロード

#ファイルのダウンロード
$rootdir_server='/public_html/data';

$ftphost='server-host';
$ftpuser='user';
$ftppass='password';

use Net::FTP;
use File::Find;

#エラーログファイルの準備
open(STDERR, '>>err.log');
#接続
$ftp=Net::FTP->new($ftphost, Passive => 1) 
 or die("Connected Error!-$ftphost-: $@\n");
#ログイン
$ftp->login($ftpuser,$ftppass)
 or die("login Error!-$ftphost: $@\n");

#ディレクトリーの移動
$ftp->cwd($rootdir_server);
#バイナリモードで
$ftp->binary;

$rootdir_local = 'C:\/var\/ssl\/data\/down_data.csv';
$server_down_file='down_data.csv';

#ダウンロード
$ftp->get($server_down_file,$rootdir_local) 
 or die("ファイルのダウンロード失敗!-$ftphost: $@\n");

#接続を切る
$ftp->quit();
#エラーログファイルの解放
close(STDERR);

対象のディレクトリへ ファイルのアップロード

#ファイルのアップロード
$rootdir_server='/public_html/data';

$ftphost='server-host';
$ftpuser='user';
$ftppass='password';

use Net::FTP;
use File::Find;

#エラーログファイルの準備
open(STDERR, '>>err.log');
#接続
$ftp=Net::FTP->new($ftphost, Passive => 1) 
 or die("Connected Error!-$ftphost-: $@\n");
#ログイン
$ftp->login($ftpuser,$ftppass)
 or die("login Error!-$ftphost: $@\n");

#ディレクトリーの移動
$ftp->cwd($rootdir_server);
#バイナリモードで #アスキーモードは $ftp->ascii;
$ftp->binary;

$local_up_file = 'C:\/var\/ssl\/data\/down_data.csv';

#アップロード
$ftp->put($local_up_file) or warn("アップロード 失敗!\n");

#接続を切る
$ftp->quit();
#エラーログファイルの解放
close(STDERR);
ページトップ