2016-03-28 69 views
0

如何将以下curl请求添加到url格式?无法解析httpget中的curl请求

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

如果我放弃curl -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); 

如果你真的想送GET包含你需要创建自己的HttpEntityEnclosingRequestBase子请求主体。详情请参阅Apache HttpClient GET with body