elsticsearch中安装了x-pack后,查询时就需要用户名和密码了。
无账号密码,不可访问
curl http://192.168.0.2:9200/testindex/_count?pretty=true
Authentication Required
访问basic认证的页面
(1)通过user选项带上账号密码,返回正常数据
curl –user elastic:changeme http://192.168.0.2:9200/testindex/_count?pretty=true
(2)在url中添加用户名和密码来访问:
http://elastic:changeme@192.168.0.2:9200/testindex/_count?pretty=true
(3)在请求头中添加Authorization来访问:
Authorization: “Basic 用户名和密码的base64加密字符串”
//HTTP Basic 验证客户端 C#实现:
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url);
request.Method = "GET";
request.ContentType = "application/x-www-form-urlencoded";
request.Credentials = CredentialCache.DefaultCredentials;
//获得用户名密码的Base64编码
string code= Convert.ToBase64String(Encoding.ASCII.GetBytes(string.Format("{0}:{1}", "username", "password")));
//添加Authorization到HTTP头
request.Headers.Add("Authorization", "Basic " + code);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
StreamReader reader = new S