Java 调接口类似postman用form-data方式post传输数据

转自Java HttpClient 发送multipart form-data的Post请求

 

 

public static String gateway(String param,String paramvalue,String servicename,String interface_id) throws Exception{
       SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
       String url = URL + "jpaas-jags-server/interface/gateway";
       HttpPost httpPost = new HttpPost(url);
       CloseableHttpClient client = HttpClients.createDefault();
       String respContent = null;

       MultipartEntityBuilder builder = MultipartEntityBuilder.create();

       Date d= new Date();
       String timestamp = String.valueOf(d.getTime());
       String time = sdf.format(d);

       JSONObject biz_contentJson = new JSONObject();

       JSONObject paramsJson = new JSONObject();

       paramsJson.put(param,paramvalue);
       biz_contentJson.put("appmark",APPMARK);
       biz_contentJson.put("time",time);
       biz_contentJson.put("sign",encodeMd5(APPMARK+APPWORD+time));
       biz_contentJson.put("servicename",servicename);
       biz_contentJson.put("params",paramsJson);


       builder.addTextBody("app_id",APP_ID,ContentType.MULTIPART_FORM_DATA);
       builder.addTextBody("interface_id",interface_id,ContentType.MULTIPART_FORM_DATA);
       builder.addTextBody("version","1.0",ContentType.MULTIPART_FORM_DATA);
       builder.addTextBody("header","{}",ContentType.MULTIPART_FORM_DATA);
       builder.addTextBody("charset","UTF-8",ContentType.MULTIPART_FORM_DATA);
       builder.addTextBody("timestamp",timestamp,ContentType.MULTIPART_FORM_DATA);
       builder.addTextBody("origin","0",ContentType.MULTIPART_FORM_DATA);

       builder.addTextBody("biz_content",biz_contentJson.toString(),ContentType.MULTIPART_FORM_DATA);

       String sign = "";
       sign = getSign(builder);
       builder.addTextBody("sign",sign,ContentType.MULTIPART_FORM_DATA);


       HttpEntity multipart = builder.build();

       HttpResponse resp = null;

       httpPost.setEntity(multipart);
       resp = client.execute(httpPost);

       HttpEntity he = resp.getEntity();
       respContent = EntityUtils.toString(he, "UTF-8");

       System.out.println(respContent);

       return respContent;
  }
 
posted @   sumling  阅读(3343)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示