2013年2月25日月曜日

HttpGet/Postにパラメータを渡す

setParams仕事しろ。

HttpClient#getParams() とかHttpPost#setParams(HttpParams) とかあるから
パラメータそのまま渡せるような気がするじゃないですか。

できないんですよ。
(HttpProtocolのパラメータらしい。)

なのでPostは

HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://url");
List parameters = new ArrayList();
parameters.add(new BasicNameValuePair("key", "value"));
post.setEntity(new UrlEncodedFormEntity(parameters, HTTP.UTF_8));
HttpResponse response = client.execute(post);

Getは


HttpClient client = new DefaultHttpClient();
List parameters = new ArrayList();
parameters.add(new BasicNameValuePair("key", "value"));

String query = URLEncodedUtils.format(parameters, "UTF-8");
HttpGet get = new HttpGet(url + "?" + query);

HttpResponse response = client.execute(get);

0 件のコメント:

コメントを投稿