• Perl 检索zabbix 主机


    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
    ";
    	
    	
    		  my $post = {    
             "jsonrpc"=>"2.0",
             "method"=>"host.get",
             "id"=>2,
    		 "params"=>{
            "output"=>[
                "hostid",
                "host"
            ],
            "selectInterfaces"=>[
                "interfaceid",
                "ip"
            ]
            },
          "auth"=>"$token"   		 
        };
    	$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();            #获取的是响应正文  

  • 相关阅读:
    作业呢
    留言板
    题解 lg2480 古代猪文
    题解 lg4139 上帝与集合的正确用法
    AFO
    题解 lg2946 [USACO09MAR]Cow Frisbee Team S
    题解 lg4158 [SCOI2009]粉刷匠
    题解 HDU4035 Maze
    题解 lg3232 [HNOI2013]游走
    题解 HDU4652 Dice
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349812.html
Copyright © 2020-2023  润新知