#!/usr/bin/perl -w
use strict;
use WWW::Mechanize;
use Jcode;
# お問い合わせフォームURL
our $ENTRY_POINT = 'https://www.ark-web.jp/contact/';
# フォームへの入力値
our $FORM_VALUES = {
name => '名前',
email => 'hoge@example.com',
action => '担当者に来て欲しい',
content => 'はじめまして。○×会社の○○です。\n\n今日は弊社で検討している・・・',
where => '知人の紹介'
};
# 個人情報保護チェック文字列
our $CHECK_PRIVACY_STR = '個人情報保護方針への同意を入力してください。';
# 1. お問い合わせフォームにアクセスする
my $mech = new WWW::Mechanize;
$mech->get($ENTRY_POINT);
if ( ! $mech->success ) {
die "$! -- fail to access $ENTRY_POINT";
}
# 2. フォームに「お名前」、「メールアドレス」、「ご希望アクション」、「お問い合わせ内容」、「アークウェブをどちらで知りましたか?」の各値を入力/選択してフォームを送信(Submit)する
foreach my $key (keys %$FORM_VALUES) {
$FORM_VALUES->{$key} = Jcode::convert($FORM_VALUES->{$key}, 'sjis', 'euc');
}
$mech->submit_form(
fields => $FORM_VALUES
);
if ( ! $mech->success ) {
die "$! -- fail to submit\n";
}
# 3.エラー画面が表示され「個人情報保護方針への同意を入力してください。」というメッセージが表示されることを確認する
my $result = Jcode::convert($mech->content, 'euc', 'sjis');
if ( is_error_page($result) && $result =~ /$CHECK_PRIVACY_STR/) {
print "Success\n";
} else {
print "Fail\n";
}
sub is_error_page {
my $text = shift;
if ( $text =~ /エラー/ && $text =~ /err.gif/ ) {
return 1;
} else {
return 0;
}
}