#!/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; } }