努力した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 · 最終更新: 2023/04/14 02:32 by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki