2
나는 following example 같은 Elasticsearch에 간단한 "요청 본문 검색"을 실행하려고하지만 는 GET 요청
$ curl -XGET 'http://localhost:9200/twitter/tweet/_search' -d '{
"query" : {
"term" : { "user" : "kimchy" }
}
}
'
컬
대신 .NET을 사용하여 다음 내 .NET 코드입니다으로 컨텐츠 몸을 보낼 수 없습니다.var uri = "http://localhost:9200/myindex/_search";
var json = "{ \"query\" : { \"term\" : { \"user\" : \"kimchy\" } } }";
var request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(uri);
request.ContentType = "text/json";
request.Method = "GET";
var responseString = string.Empty;
using (var streamWriter = new System.IO.StreamWriter(request.GetRequestStream()))
{
streamWriter.Write(json);
streamWriter.Flush();
streamWriter.Close();
var response = (System.Net.HttpWebResponse)request.GetResponse();
using (var streamReader = new System.IO.StreamReader(response.GetResponseStream()))
{
responseString = streamReader.ReadToEnd();
}
}
그러나 다음 오류가 발생합니다.
Cannot send a content-body with this verb-type.
...
Exception Details: System.Net.ProtocolViolationException: Cannot send a content-body with this verb-type.
...
Line 54: using (var streamWriter = new System.IO.StreamWriter(request.GetRequestStream()))
I 표준 .NET 클래스를 사용하여 GET
요청과 콘텐츠 바디를 보낼 수있는 방법이 있습니까. 아니면 해결 방법이 있습니까?
같은 문제가 있지만 메서드를 가져와야하는데 GET에서 POST로 변경할 수있는 권한이 없으므로이 문제에 대한 다른 해결 방법이 있습니까? –