perl脚本LWP模块访问rest接口实例
#!/use/bin/perl
use LWP:UserAgent;
sub getRest
{
my $ua = LWP:UserAgent->new;
my ($server_endpoint,$username,$password) = @_;
my $req = HTTP::Request->new(POST => $server_endpoint);
$req->header('content-type' => 'application/josn;charset=UTF-8');
my $post_data = qq("username":$username,"password":$password,"type":"account");
$req->content($post_data);
my $resp = $ua -> request($req);
if ($resp->success){
my $message = $resp->decoded_content;
print "Received reply: $message\n";
return $message;
}
else {
print "HTTP POST error code:",$resp->code," \n";'
print "HTTP POST error message:",$resp->message ," \n";'
}
}
sub getList
{
my $ua = LWP:UserAgent->new;
my ($server_endpoint,$auth) = @_;
my $req = HTTP::Request->new(POST => $server_endpoint);
$req->header('content-type' => 'application/josn;charset=UTF-8');
$req->header('authorization' => $auth);
my $resp = $ua -> request($req);
if ($resp->success){
my $message = $resp->decoded_content;
print "Received reply: $message\n";
return $message;
}
else {
print "HTTP POST error code:",$resp->code," \n";'
print "HTTP POST error message:",$resp->message ," \n";'
}
}
my $res = getRest('要访问接口的url','用户名','密码'); ###访问的接口需要认证,通过该方法获取authorization,若接口访问不需要认证,可直接用第二个方法删除$auth参数即可
my $auth = split(',',$res);
my $auth_1 = split('\"',auth[2]);
my $auth_2 = $auth_1[3];
my res_1 = &getList('访问的URL',$auth_2);

浙公网安备 33010602011771号