perl PUT 请求加请求头

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 $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://127.0.0.1:8000/api2/auth-token/';
                
  
   my $res = $ua->post($token_url,
                {
                'username'=>'015208@zjtlcb.com',
                'password'=>'1234567'
                });
   print $res->content();
   print "
";
   my $r= $res->content();
   my $r=encode_utf8($r);
   my $hash = decode_json($r);
   my $token =$hash->{"token"};
   print "$r is $r
";
   my $host = "http://127.0.0.1:8000/api2/auth/ping/";
   @header = (  
    'accept'=> "application/json; indent=4",  
    'content-type'=> "application/x-www-form-urlencoded",  
    'Authorization'=> "Token  $token" 
	
    );  
    
    $host="http://127.0.0.1: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 "---------------------------
";
	foreach $a (@{$arr}){
	  print $a->{"email"};
	  print "
";
	  };
##创建用户
    ##"password=1234567" 为put的数据
    my $url="http://127.0.0.1:8000/api2/accounts/00999@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();
 

原文地址:https://www.cnblogs.com/hzcya1995/p/13349912.html