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);

 

posted @ 2021-10-19 17:10  Windsong的博客  阅读(148)  评论(0)    收藏  举报