Добавление параметра в HttpPost на Apache httpclient
Я пытаюсь установить некоторые параметры Http в объекте HttpPost.
HttpPost post=new HttpPost(url);
HttpParams params=new BasicHttpParams();
params.setParameter("param", "value");
post.setParams(params);
HttpResponse response = client.execute(post);
Похоже, что параметр не установлен вообще. Вы не знаете, почему это происходит?
Спасибо
Ответы
Ответ 1
HttpPost httpPost = new HttpPost(url);
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("param", "value"));
httpPost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
httpClient.execute(httpPost);
Ответ 2
Для тех, кто надеется найти ответ, используя HttpGet, здесь один (из fooobar.com/info/50725/...):
StringBuilder requestUrl = new StringBuilder("your_url");
String querystring = URLEncodedUtils.format(params, "utf-8");
requestUrl.append("?");
requestUrl.append(querystring);
HttpClient httpclient = new DefaultHttpClient();
HttpGet get = new HttpGet(requestUrl.toString());
ПРИМЕЧАНИЕ. Это не учитывает состояние your_url
: если уже есть некоторые параметры, если он уже содержит "?" и т.д. Я предполагаю, что вы знаете, как кода/поиска и адаптируется к вашему делу.