perl 添加主机

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://192.168.137.3/zabbix/api_jsonrpc.php";    
   my $post = {    
         "jsonrpc"=>"2.0",
         "method"=>"user.login",
         "id"=>1,
		 "params"=>{"user" => "Admin",
        "password" => "zabbix"}
          		 
    };    
    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-rpc; charset=UTF-8')    
      ;    #post请求,如果有发送参数,必须要有这句    
    $req->content("$json_string");    #发送post的参数    
    my $res = $ua->request($req);    
    #print $res->content();            #获取的是响应正文    
	
	my $r=$res->content();
	my $r=encode_utf8($r);
    my $hash = decode_json($r);
	my $token= $hash->{result};
	#print "$token is $token
";
	
	##其中hostid 和interfaceid 为list host api返回
		  my $post =   
     {
    "jsonrpc"=> "2.0",
    "method" => "host.create",
    "params"=> {
        "host" => "test9876",
        "interfaces" => [
            {
                "type"=> 1,
                "main"=>1,
                "useip"=> 1,
                "ip" => "9.8.7.6",
                "dns" =>"",
                "port" => "10050"
            }
        ],
        "groups" => [
            {
                "groupid" =>"2"
            }
        ],
        "templates" => [
            {
                "templateid" =>"10001"
            }
        ]
       
    },
    "auth" => "$token",
    "id"=> 1
};
	$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-rpc; charset=UTF-8')    
      ;    #post请求,如果有发送参数,必须要有这句    
    $req->content("$json_string");    #发送post的参数    
    my $res = $ua->request($req);    
    print $res->content();            #获取的是响应正文  

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