努力したWiki

推敲の足りないメモ書き多数

ユーザ用ツール

サイト用ツール


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 · 最終更新: 2017/08/18 09:51 by k896951

ページ用ツール