perl put 发送数据

来源:互联网 发布:代码行估算法 编辑:程序博客网 时间:2024/05/19 00:36
use  LWP::UserAgent; use LWP;use Encode;use LWP::Simple;use LWP::UserAgent;use HTTP::Cookies;use HTTP::Headers;use HTTP::Response;use Encode;use URI::Escape;use URI::URL;use JSON;use Data::Dumper;my $user=$ARGV[0];  my $ua = LWP::UserAgent->new;     $ua->agent("Mozilla/5.0 (Windows NT 6.1; rv:30.0) Gecko/20100101 Firefox/30.0");  my $cookie_jar = HTTP::Cookies->new(     file=>'lwp_cookies.txt',     autosave=>1,     ignore_discard=>1);     $ua->cookie_jar($cookie_jar);   my $token_url= 'http://10.5.100.241:8000/api2/auth-token/';                     my $res = $ua->post($token_url,                {                'username'=>'015208@zjtlcb.com',                'password'=>'1234567'                });   print $res->content();   print "\n";   my $r= $res->content();   my $r=encode_utf8($r);   my $hash = decode_json($r);   my $token =$hash->{"token"};   print "\$r is $r\n";   my $host = "http://10.5.100.241:8000/api2/auth/ping/";   @header = (      'accept'=> "application/json; indent=4",      'content-type'=> "application/x-www-form-urlencoded",      'Authorization'=> "Token  $token"     );          $host="http://10.5.100.241:8000/api2/accounts/";      $request = HTTP::Request->new(GET=>"$host");      $request->header(@header);        $response = $ua->request($request);       print $response->decoded_content;       my $r=$response->decoded_content;my $r=encode_utf8($r);    my $arr = decode_json($r);print "---------------------------\n";foreach $a (@{$arr}){  print $a->{"email"};  print "\n";  };##创建用户    ##"password=1234567" 为put的数据    my $url="http://10.5.100.241:8000/api2/accounts/$user\@zjtlcb.com";push @{$ua->requests_redirectable},'PUT';    $request = HTTP::Request->new(PUT=>$url,HTTP::Headers->new('content-type'=> "application/x-www-form-urlencoded",'accept'=> "application/json; indent=4", 'Authorization'=> "Token  $token"),"password=1234567");      $request->header(@header);        $response = $ua->request($request);       print $response->content;     print $response->status_line();print $response->as_string();    # my $response = $ua->put($url,    # 'accept'=> "application/json; indent=4",      # 'content-type'=> "application/x-www-form-urlencoded",      # 'Authorization'=> "Token  $token" ,# "password"=>"1234567"    # );     # print $response->status_line(); # print $response->as_string(); Create AccountPUT https://cloud.seafile.com/api2/accounts/{email}/Request parameterspasswordis_staff (defaults to False)is_active (defaults to True)Sample requestcurl -v -X PUT -d "password=123456" -H "Authorization: Token f2210dacd9c6ccb8133606d94ff8e61d99b477fd" -H 'Accept: application/json; indent=4' https://cloud.seafile.com/api2/accounts/newaccount@gmail.com/

0 0
原创粉丝点击