81,092
社区成员
发帖
与我相关
我的任务
分享
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
// 首先Header部分需要设定字符集为:uft-8
HttpPost httpPost = new HttpPost(imUrl);
httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
// 设置请求的参数
List<NameValuePair> nvps = new ArrayList<NameValuePair>();
nvps.add(new BasicNameValuePair("userId", userId));
nvps.add(new BasicNameValuePair("owner", owner));
// 此处也需要设定
httpPost.setEntity(new UrlEncodedFormEntity(nvps, "utf-8"));
// 执行请求
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpResponse response = httpClient.execute(httpPost);
/*how to create NameValuePair: example
* List<NameValuePair> list = new ArrayList<NameValuePair>();
* list.add(new BasicNameValuePair("username", "admin"));
* @param encode can be "UTF-8" and so on
*/
public String httpPost(String url,List<NameValuePair> params,String encode){
String ret = "";
try {
HttpPost post = new HttpPost(url);
updateRequestHeader(post);
if (cTimeout>0 && rTimeout>0){
RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(cTimeout).setSocketTimeout(rTimeout).build();
post.setConfig(requestConfig);
}
UrlEncodedFormEntity uefEntity = new UrlEncodedFormEntity(params,encode);
post.setEntity(uefEntity);
CloseableHttpResponse httpResponse = httpClient.execute(post);
if (httpResponse==null){
post.abort();
return null;
}
HttpEntity entity = httpResponse.getEntity();
if (entity!=null){
ret = EntityUtils.toString(entity,"UTF-8");
}
closeHttpResponse(httpResponse);
} catch (Exception e){
e.printStackTrace();
}
return ret;
}