zoukankan      html  css  js  c++  java
  • 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();            #获取的是响应正文  

  • 相关阅读:
    usb mtp激活流程【转】
    [RK3288][Android6.0] USB OTG模式及切换【转】
    简单实用的磁带转MP3方法图解
    使用log4j的邮件功能
    hive从查询中获取数据插入到表或动态分区
    map和reduce 个数的设定 (Hive优化)经典
    Mysql ERROR 145 (HY000)
    Mysql计算时间差
    小米刷机教程和GAE for android
    Hbase 使用方法
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349812.html
Copyright © 2011-2022 走看看