1

フォームにファイル アップロード フィールドを入力しようとするとbad file descriptor at ... line ...、ファイル入力フィールドを入力する行にエラーが表示されます ( $browser->field('some_file_field',$file) or die "$!";)。通常のスラッシュも試しました。スクリプトはWindows OSで動作しています。

use strict;
use warnings;

use WWW::Mechanize;
use HTTP::Cookies;
use LWP::Debug qw(+);

my $user = 'user';
my $password = 'password';

my $browser = WWW::Mechanize->new(
 stack_depth => 0,
 cookie_jar      => {},
 timeout => 180,
 autocheck       => 1,
 onerror         => \&Carp::croak,);

# Login Form
my $response = $browser->get('http://somepage/de/login.php');
if (!$response->is_success) {
    die "Login page unreachable: ",  $response->status_line, "\n";
}

$browser->field('userid', $user);
$browser->field('passwd', $password);
$response = $browser->click();
if ($response->is_success) {
    print "Login Successful!\n";
} else {
    die "Login failed: ",  $response->status_line, "\n";
}

$response = $browser->get('http://somepage/import.php');
if (!$response->is_success) {
    die "Static Data Site unreachable: ",  $response->status_line, "\n";
}

my $form = $browser->form_name('importform');
$browser->select('some_select_field','test') or die "$!";
my $file = 'C:\test.txt';

$browser->field('some_file_field',$file) or die "$!";

$response = $browser->submit() or die "$!";
if ($response->is_success) {
    print "Import Successful!\n";
} else {
    die "Import failed: ",  $response->status_line, "\n";
}
4

0 に答える 0