LWP::Simpleを使って自身のURLを登録する

perl02

LWP::Simpleを使って自身のURLをHTTPで登録するサンプル。

 

#自身のURL
$url = $ENV{'REQUEST_SCHEME'} . "://" . $ENV{'HTTP_HOST'} . $ENV{'REQUEST_URI'};

#最後の/以降を削除(必要であれば)
$url =~ s|/[^/]*$||;

# 登録するURL
$reg_url = "https://sample.com/reg?param=$reg_url";

&Reg_url;


sub Reg_url{
	use LWP::Simple;

	my $response = eval { get($reg_url) };
	if ($@) {
		print "登録にに失敗しました: $@\n";
	} else {
		print "登録に成功しました\n";
	}
}

 

 受け取る側

use CGI;

$cgi = new CGI;
foreach ($cgi->param() ){
	$CGI{$_}=$cgi->param($_);
}

#ファイルに保存
if ($CGI{'param'}) {
  my $tool_url = $CGI{'param'} . "\n";

  # 同じ値があれば終了
  open(DB,"$url_file");	@lines = <DB>;	close(DB);
  foreach $line (@lines){
    if($line eq $tool_url){exit;}
  }
  open(DC,">>$url_file");	print (DC $tool_url);	close(DC);
}