Добавление параметра в HttpPost на httpclient Apache - PullRequest
11 голосов
/ 20 февраля 2012

Я пытаюсь установить некоторые параметры Http в объекте HttpPost.

HttpPost post=new HttpPost(url);
HttpParams params=new BasicHttpParams();
params.setParameter("param", "value");
post.setParams(params);
HttpResponse response = client.execute(post);

Похоже, что параметр не установлен вообще.Ты хоть представляешь, почему это происходит?

Спасибо

Ответы [ 2 ]

26 голосов
/ 23 января 2014

Для тех, кто надеется найти ответ с помощью HttpGet, вот один (из https://stackoverflow.com/a/4660576/330867):

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: если уже есть некоторые параметры, если оно уже содержит «?» И т. Д. Я предполагаю, что вы знаете, как кодировать / искать и адаптируется к вашему делу.

8 голосов
/ 16 мая 2012
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);
...