documents:perl:perl-016
PerlでPOSTメソッドのHTTPアクセス実施例
2017/08/18
自分用メモ。正確性の保証なし。
説明
URL http://192.168.1.200:7180/SAVE/SEIKA にPOSTメソッドでアクセス。
Content-Type: application/x-www-form-urlencoded でPOSTされる。
POSTするデータは
- SPEED = 1.60
- PITCH= 1.00
- VOLUME = 1.00
- INTONATION = 1.00
- TALKTEXT = “シャットダウン&リセットを推奨します。”
使用端末の既定コードがeuc-jpなので、日本語文字列をPerl内部形式に変換している。utf8プラグマとか付けるならdecode()いらん。
レスポンスに含まれるデータは以下のように保存する。
$ perl sample.pl > seika.wav
※このサンプルは、レスポンスに wavファイルが含まれていることを想定している。
コード
- sample.pl
#!/usr/local/bin/perl use Encode; use HTTP::Request::Common; use LWP; my $uri = "http://192.168.1.200:7180/SAVE/SEIKA"; my $params = [ SPEED => 1.60, PITCH=> 1.00, VOLUME => 1.00, INTONATION => 1.00, TALKTEXT => decode('euc-jp',"シャットダウン&リセットを推奨します。") ]; my $ua = LWP::UserAgent->new(); my $res = $ua->request( POST($uri, $params) ); print $res->content;
documents/perl/perl-016.txt · 最終更新: 2024/11/01 16:30 by k896951