HttpEntity: 在 Apache HttpClient 中是一个接口,它代表一个可读或可写的HTTP消息实体,包括请求体和响应体。 在发送HTTP请求时,可以附带各种类型的实体内容,而在接收HTTP响应时,则会从服务器获取相应的实体内容。
StringEntity: 是 HttpEntity 的一个
String json = "{"key":"value"}"; StringEntity entity = new StringEntity(json, ContentType.APPLICATION_JSON); httpPost.setEntity(entity);
UrlEncodedFormEntity: 另一个 HttpEntity 实现,专门用来表示URL编码的表单数据(application/x-www-form-urlencoded)。 当需要发送键值对形式的POST请求,且这些参数是按照URL编码规则进行编码时,使用这个类更为合适。
// 构建表单数据 List<NameValuePair> params = new ArrayList<>(); params.add(new BasicNameValuePair("username", "testuser")); params.add(new BasicNameValuePair("password", "testpassword")); // 设置请求体为URL编码的表单数据 HttpEntity entity = new UrlEncodedFormEntity(params, "UTF-8"); httpPost.setEntity(entity);