• 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();            #获取的是响应正文  

  • 相关阅读:
    C++内存机制中内存溢出、内存泄露、内存越界和栈溢出的区别和联系
    ArrayList、Vector、HashMap、HashTable、HashSet的默认初始容量、加载因子、扩容增量
    C++ 智能指针 auto_ptr 和 shared_ptr
    Java初始和环境搭建(一)
    Spring_01
    Linux中常用命令
    linux_Ubuntu项目运行环境搭建
    Nginx_Ubuntu
    idea运行时 Process finished with exit code -1073741819 (0xC0000005)
    MySQL_基础
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13349811.html
Copyright © 2020-2023  润新知