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.2:9200/twitter/";
my $post = {
settings => {
index=>{
"number_of_shards"=> 5,
"number_of_replicas"=>2
}
}
};
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; charset=UTF-8')
; #post请求,如果有发送参数,必须要有这句
$req->content("$json_string"); #发送post的参数
my $res = $ua->request($req);
print $res->content(); #获取的是响应正文


C:\Users\TLCB\Desktop\elk\Elasticsearch Api>perl post_json_create_indx.pl
{"acknowledged":true}
C:\Users\TLCB\Desktop\elk\Elasticsearch Api>


获取一个空索引内容:

use LWP::UserAgent;
use Encode;
use Data::Dumper;
use JSON;
use POSIX;
sub check_es {
my $SDATE = strftime("%Y.%m.%d",localtime());
my $ua = LWP::UserAgent->new;
$ua->timeout(10);
$ua->env_proxy;
$ua->agent("Mozilla/8.0");
#my $host = "http://10.5.100.232:9200/logstash-tlcb-2017.06.10/_search";
my $host = "http://192.168.137.2:9200/twitter/_search";
my $response = $ua->get($host);
$ua->default_headers;
if ($response->is_success) {
# print $response->decoded_content; # or whatever
my $r=$response->decoded_content;
print $r;
}
else {
print $response->status_line;
} ;
$count= $hash->{'hits'}{total};
};
check_es

print "---------------------------\n";
print $count;

C:\Users\TLCB\Desktop\elk\Elasticsearch Api>perl check_es.pl
---------------------------
{"took":1,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hit
s":{"total":0,"max_score":null,"hits":[]}}
C:\Users\TLCB\Desktop\elk\Elasticsearch Api>