有一个重要的类,来自org.apache.http.entity.AbstractHttpEntity,有7个直接子类:
BasicHttpEntity,
ByteArrayEntity,
EntitiyTemplate,
FileEntity,
InputStreamEntity,
SerializableEntity,
1个间接子类:UrlEncodedFormEntity,直接继承自StringEntity
有两个构造方法:
1. UrlEncodedFormEntity(List<? extends NameValuePair> parameters, String encoding)
2. UrlEncodedFormEntity(List<? extends NameValuePair> parameters)
第二个方法将使用默认编码,即ISO-8859-1
List<NameValuePair> qparams = new ArrayList<NameValuePair>();
qparams.add(new BasicNameValuePair("q", "httpclient"));
qparams.add(new BasicNameValuePair("btnG", "Google Search"));
qparams.add(new BasicNameValuePair("aq", "f"));
qparams.add(new BasicNameValuePair("oq", null));
URI uri = URIUtils.createURI("http", "www.google.com", -1, "/search",
URLEncodedUtils.format(qparams, "UTF-8"), null);
HttpGet httpget = new HttpGet(uri);
System.out.println(httpget.getURI());
输出结果:
http://www.google.com/search?q=httpclient&btnG=Google+Search&aq=f&oq=