httpclient Post请求

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 21:02   3702   0

1、使用httpclient请求服务

2、需要的java包

 private static Logger log = Logger.getLogger(ServiceLink.class);
 private static HttpClient client = new HttpClient();
 private static boolean flog=true;
 
 
 
 
 /**
  * post请求方法  传递地址 、数据
  * @param url
  * @param datas
  * @return
  */
 public static String getPostMethodWrite(String url,String datas){
  
   if(flog){
    
    flog=false;
    PostMethod postMethod = new PostMethod(url);
    //设置参数编码为utf-8
    postMethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET,"UTF-8");
    //构造键值对参数
    NameValuePair[] data = { new NameValuePair("data", datas)}; 
    // 把参数值放入postMethod中 
    postMethod.setRequestBody(data);
    //执行
    try {
    client.executeMethod(postMethod);
     //读取内容
        byte[] responseBody = postMethod.getResponseBody();
        //处理内容
//        System.out.println(new String(responseBody));
//            System.out.println("statusCode:"+statusCode);
            //打印结果页面
            String response =  new String(postMethod.getResponseBodyAsString().getBytes("utf-8"));
           //打印返回的信息
            log.info("response:"+response);
            return response;
    //释放连接
   
   } catch (HttpException e) {

    ErrorPrint.sprintLog(e, log,"http协议异常");
    e.printStackTrace();
    return "";
    
   } catch (IOException e) {
    ErrorPrint.sprintLog(e, log,"流异常");
    log.error("流异常", e);
    e.printStackTrace();
    return "";
   } finally{
     postMethod.releaseConnection();
     flog=true;
   }
   }
   return "";
 }

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP