2016-03-28 11 views
0

次のカール要求をURL形式に追加するにはどうすればよいですか?httpl内のカール要求を解析できません

HttpGet httpGetRequest = new HttpGet("curl -XGET 'localhost:9200/indexname/status/_search?pretty=1&size=10000' -d '{"_source": {"include": [ "ID", "Name" ]}}''"}; 

これは適切なhttpのURL形式ではなくなっています。何かアドバイス?ありがとう。

+0

あなたは 'cURL'を使いたいのですか、' HttpGet'を実際に使いたいですか? 'cURL'を使いたい場合は' java.lang.Runtime.getRuntime()。exec() 'を使ってそれを呼び出すか、実際には' HttpGet'を使いたいと思っているので、 'curl -XGET'をあなたの文字列から削除します。 –

+1

あなたはネストされた引用符を持っているようです...おそらくそれらをエスケープする必要があります。 – billjamesdev

+0

カール-XGETを落とすと、適切なURLではありません。それも私の質問です。そのリクエストをhttgetメソッドの内部に入力できる適切なURLに変更する方法を教えてください。 – Sweet

答えて

0

あなたのcurlコマンドがデータを送信しています。あなたはそのような目的のためにPOSTを使用する必要があります。

StringRequestEntity entity = new StringRequestEntity(
    JSON_STRING, 
    "application/json", 
    "UTF-8"); 

PostMethod post = new PostMethod("http://example.com/action"); 
postMethod.setRequestEntity(entity); 
int statusCode = httpClient.executeMethod(post); 

あなたは本当にあなたがHttpEntityEnclosingRequestBaseの独自のサブクラスを作成する必要がリクエストボディを含むGETを送信したい場合。詳細は、Apache HttpClient GET with bodyを参照してください。

関連する問題