Perl で、POST したい。

Perl で POST するには、LWP で
my $req = HTTP::Request->new(POST => $url);
として URL を指定し、
$req->content_type('application/x-www-form-urlencoded');
$req->content('Entity=Flight&ContractID=490&Enroute=N&FlightCategory=...');
のように POST するデータを与えればよい。サーバ(CGI スクリプト)に渡すパラメータは、URL の 「?」 の後に続き、<パラメータ名1>=<値1&gt&<パラメータ名2>=<値2&gt&<パラメータ名3>=<値3&gt&…といった形で、「&」 を用いていくつものパラメータと値の組み合わせをつなげることが出来る。 以下は、FryteComm というサイトにアクセスして、XML で現在のフライト状況を取得するサンプルである。飛行機が遅れているかどうかの状況がわかる。 使用するモジュール
use LWP::UserAgent;
#!/usr/bin/perl -w

use LWP::UserAgent;

our $ua = LWP::UserAgent->new;
our $url = 'https://applecomputer:apc0606jb@flytesource.flytecomm.com/FlyteSourceGeneratorWebApp/Application';
our $query_string = 'Entity=Flight&ContractID=490&Enroute=N&FlightCategory=COM&DataView=detail&DepartureAirportCode=SFO&ArrivalAirportCode=NRT&AirlineCode=UA&FlightNumber=837';

my $req = HTTP::Request->new(POST => $url);
$req->content_type('application/x-www-form-urlencoded');
$req->content($query_string);

my $res = $ua->request($req);
print $res->as_string;

1;
トラックバック URL: https://perltips.twinkle.cc/trackback/77
Posted on 2006-04-04 by yas |
同一サイト内でhttpsからhttpへ
外部サイトへは可能ですが、同一サイト内では、httpsのcgiを探しに行きます。 このようなことをためしたことはありますか?
Posted by 匿名さん (未認証ユーザ) on 2010/01/20(水) 20:27
同一サイト内でhttpsからhttpへpost
他のドメインであれば可能ですが、同一サイト内で行うと、httpsのファイルを探しに行きます。 このようなことを試したことはありますか
Posted by 山田 (未認証ユーザ) on 2010/01/20(水) 20:41
Perl で、BASIC 認証(基本認証)付きのサイトにアクセスするには?
Trackback from Perl Tips: LWP::UserAgent を使うのだが、以下のコードで太字の行がポイント。......
Posted by Perl Tips (未認証ユーザ) on 2006/11/21(火) 10:29
Perl で、サイトにアクセスして HTML を取得する方法
Trackback from Perl Tips: LWP (libwww-perl という形で配布されている) を使う。LWP:......
Posted by Perl Tips (未認証ユーザ) on 2006/11/21(火) 10:32