FurlでBasic認証を突破する。(もしくは、curl -u的な)
2014年11月17日
某APIのサンプルがcurlしかないので、Perlで実装しようとした時に、-uってどうやんのさ・・?って調べたんでメモ。
叩きたいコマンドは、以下みたいな感じ。
curl -u user:pass http://xxx.example.com/user_data
で、これをPerl(Furl)で書くと下記。
use Furl; my $furl = Furl->new(); my $res = $furl->post('http://user:pass@xxx.example.com/user_data',[],[ id => 1 ]); print $res->content if $res->is_success;
てな感じで、ドメインの前にuser:pass@をつける事で、curlの-u相当の事ができる。
ちなみに、、
userのみ(pass無し)でアクセスしたい場合は、下記のような感じ。
my $res = $furl->post('https://user: @xxx.example.com/user_data',[],[ id => 1 ]);
これをuser:@って繋げて書くとエラーがでるんで、:と@の間にスペースを挟む。