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\n";
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(); #获取的是响应正文
Perl 检索zabbix 主机
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:Perl 面向对象编程
下一篇:Perl 模拟DELETE 请求
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
perl 添加主机
use LWP::UserAgent; use LWP; use Encode; use LWP::Simple; use LWP::UserAgent; use HTTP::Cookies; u...
json jar post请求 firefox php