使用HttpClient在Android中发送带有Http GET请求的json字符串

时间:2015-01-23 12:52:21

标签: android httpclient apache-httpclient-4.x

我正在使用HttpClient库。我知道直接发送带有POST请求的json字符串的方式。像:

    HttpPost post = new HttpPost(url);
    post.setEntity(new StringEntity(jsonString));

但是如何使用GET请求发送相同的数据。因为,HttpGet类中没有类似“setEntity(StringEntity entity)”的方法。 而且我愿意在没有任何特定密钥的情况下发送数据,就像我对POST请求一样。

1 个答案:

答案 0 :(得分:0)

您可以使用NameValuePair对象列表并将其附加到url:

List<NameValuePair> params = new LinkedList<NameValuePair>();
params.add(new BasicNameValuePair("param_name_1", "param_value");
params.add(new BasicNameValuePair("param_name_2", "param_value");
String paramString = URLEncodedUtils.format(params, "utf-8");

String url = url + paramString; 

现在,只需对此url进行GET请求。

所以,基本上,这里发生的是你将参数字符串附加到url,你甚至可以手动完成。但这只是IMO更安全,更优雅的方式。