java swing通过httpclient向服务器端发送post请求如何做
我是初学,之前用swing做了一个登陆界面,是用jdbc连接本地数据库的,如果现在想连接外部指定服务器,我查了是用httpclient的post方法,但是在原来的代码中怎...
我是初学,之前用swing做了一个登陆界面,是用jdbc连接本地数据库的,如果现在想连接外部指定服务器,我查了是用httpclient的post方法,但是在原来的代码中怎么修改呢?希望帮忙解答~
展开
1个回答
展开全部
/**
* @Description: post请求远程http链接
* @param url 链接地址
* @param bean 实体对象参数
* @param params 多个字符串参数
* @return json
* @throws Exception
*/
public static String doPostWithBean(String url,Object bean,String...params) throws Exception {
System.err.println(params.length);
HttpClient client = getHttpClient();
HttpPost httppost = new HttpPost(url);
MultipartEntity entity = new MultipartEntity();
for(Field f : bean.getClass().getDeclaredFields()){
辩举 f.setAccessible(true);
if(f.get(bean)!=null&&!"".equals(f.get(bean).toString())){
entity.addPart(f.getName(),new StringBody(f.get(bean).toString(),Charset.forName("UTF-8")));
}
}
for(Field f : bean.getClass().getSuperclass().getDeclaredFields()){
f.setAccessible(true);
if(f.get(bean)!=null&&!"".equals(f.get(bean).toString())){
entity.addPart(f.getName(),new StringBody(f.get(bean).toString(),Charset.forName("UTF-8")));
}
}
if(params!=null && params.length!=0) {
Map<String,Object> paramsMap = MapTool.getParamMap(params);
for(String paramName:paramsMap.keySet()){
携高碧 entity.addPart(paramName,new StringBody((String) paramsMap.get(paramName),Charset.forName("UTF-8")));
}
}
httppost.setEntity(entity);
String resp = null;
try {
HttpResponse response = client.execute(httppost);
HttpEntity resEntity = response.getEntity();
if (resEntity != null) {
resp = EntityUtils.toString(resEntity, "UTF-8");
}
if (resEntity != null) {
EntityUtils.consume(resEntity);
}
念拆 } finally {
client.getConnectionManager().shutdown();
}
return resp;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询