在第三方开店卖商品,我需要把我查到的数据用post形式发给第三方接口!!不会弄啊,
各位哥哥能帮帮我吗http://open.mengdian.com/doc/api/tag/zb_list.html
java调用http接口问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答
- Hefei19881002 2017-06-09 08:38关注
public static String postDataUTF8(Map<String,String> data, String url) { HttpClient httpClient = new HttpClient(); HttpConnectionManagerParams managerParams = httpClient .getHttpConnectionManager().getParams(); // 设置连接超时时间(单位毫秒) managerParams.setConnectionTimeout(connectionTimeout); // 设置读数据超时时间(单位毫秒) managerParams.setSoTimeout(soTimeout); PostMethodUTF8 postMethod = new PostMethodUTF8(url); Iterator<String> it = data.keySet().iterator(); NameValuePair[] sendData = new NameValuePair[data.keySet().size()]; int i = 0; String key = ""; while(it.hasNext()) { key = it.next(); sendData[i++] = new NameValuePair(key, data.get(key)); } postMethod.setRequestBody(sendData); postMethod.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8"); String strResponse = null; try { int statusCode = httpClient.executeMethod(postMethod); //logger.info("--------Connect the interface at time:" + new Date()); if (statusCode != HttpStatus.SC_OK) { strResponse = "error_第三方返回非200状态码"; throw new IllegalStateException("Method failed: " + postMethod.getStatusLine()); } strResponse = postMethod.getResponseBodyAsString(); if(NetCheckFieldsUtil.isBlank(strResponse)){ strResponse = "error_第三方返回空数据"; } //System.out.println("getResponseCharSet:"+postMethod.getResponseCharSet()); //System.out.println("getRequestCharSet:"+postMethod.getRequestCharSet()); }catch(UnsupportedEncodingException e){ e.printStackTrace(); logger.error("UnsupportedEncodingException:",e); strResponse = "error_发生UnsupportedEncodingException异常,未能成功调用第三方"; }catch(IllegalStateException e){ e.printStackTrace(); logger.error("IllegalStateException:",e);
// strResponse = "error_发生IllegalStateException异常,未能成功调用第三方";
} catch (ConnectTimeoutException e) {
// System.out.println("time out");
e.printStackTrace();
// throw new java.net.SocketTimeoutException("time out");
logger.error("ConnectTimeoutException:",e);
strResponse = "error_请求第三方时发生ConnectTimeoutException异常";
} catch(SocketTimeoutException e){
e.printStackTrace();
logger.error("SocketTimeoutException:",e);
strResponse = "error_请求第三方时发生SocketTimeoutException异常";
}catch (Exception ex) {
ex.printStackTrace();
// throw new IllegalStateException(ex.toString());
logger.error("Exception:",ex);
strResponse = "error_请求第三方时发生未知异常";
} finally {
postMethod.releaseConnection();
}
//logger.info(strResponse);
return strResponse;
}解决 无用评论 打赏 举报
悬赏问题
- ¥15 交替优化波束形成和ris反射角使保密速率最大化
- ¥15 树莓派与pix飞控通信
- ¥15 自动转发微信群信息到另外一个微信群
- ¥15 outlook无法配置成功
- ¥30 这是哪个作者做的宝宝起名网站
- ¥60 版本过低apk如何修改可以兼容新的安卓系统
- ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
- ¥50 有数据,怎么建立模型求影响全要素生产率的因素
- ¥50 有数据,怎么用matlab求全要素生产率
- ¥15 TI的insta-spin例程