perl 和curl 发送json数据例子

perl 和curl 发送json数据例子

PUT  /library/books/2
{
  "title":"Elasticsearch test",
  "name" :{
    "first":"zhao",
    "last":"yangjian"
  },
  "publish_date":"2017-01-29",
  "price":"99.99"
  }



##发送消息
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     $login_url ="http://10.10.17.2:9200/library/books/2";  
   my $post = {  
        title=>"Elasticsearch test",
        name => { 
          		
          "first"=> "zhao",
          "last"=>"yangjian"
          },
		 "publish_date"=>"2017-01-29",
         "price"=>"99.99"
        }  
    };  
    use JSON qw(encode_json);  
    $json_string = encode_json($post);  
  
    my $req = HTTP::Request->new(  
        'POST' => $login_url
    );  
    $req->referer("https://wx.qq.com/?&lang=zh_CN");  
    $req->content_type('application/json; charset=UTF-8')  
      ;    #post请求,如果有发送参数,必须要有这句  
    $req->content("$json_string");    #发送post的参数  
    my $res = $ua->request($req);  
    print $res->content();            #获取的是响应正文