Java 通过get post 请求url

1️⃣.已获取小程序的access_token 为例,通过Get请求url

 1  import com.alibaba.fastjson.JSONObject;
 2  
 3  String wechatUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}";
 4 
 5 String appId = "xxxx";
 6 String secret = "xxxxx";
 7 
 8  String getUrl = MessageFormat.format(wechatUrl, appId, secret);
 9 
10  URL url = new URL(urlStr);
11  JSONObject jsonObject;
12 try (InputStream inputStream = url.openStream()) {
13     jsonObject = JSONObject.parseObject(IOUtils.toString(inputStream));
14 }
15 if (jsonObject.containsKey("errmsg")) {
16        throw new LobsterException("获取token,原因:" + jsonObject.getString("errmsg"));
17    }
18 return jsonObject.getString("access_token");

 2️⃣.已获取小程序码为例,通过Post请求url   也可以参考https://www.cnblogs.com/bchange/p/9156178.html

1.先设置小程序码参数

 1 package com.ieou.lobster.dto;
 2 
 3 public class MiniProgramsCode {
 4 
 5     private String scene;
 6     private String page = "pages/shop/shop";
 7     private int width = 300;
 8     private Boolean auto_color;
 9     private Object line_color;
10 
11     public String getScene() {
12         return scene;
13     }
14 
15     public void setScene(String scene) {
16         this.scene = scene;
17     }
18 
19     public String getPage() {
20         return page;
21     }
22 
23     public void setPage(String page) {
24         this.page = page;
25     }
26 
27     public int getWidth() {
28         return width;
29     }
30 
31     public void setWidth(int width) {
32         this.width = width;
33     }
34 
35     public Boolean getAuto_color() {
36         return auto_color;
37     }
38 
39     public void setAuto_color(Boolean auto_color) {
40         this.auto_color = auto_color;
41     }
42 
43     public Object getLine_color() {
44         return line_color;
45     }
46 
47     public void setLine_color(Object line_color) {
48         this.line_color = line_color;
49     }
50 }

2.对URL进行Post请求

 1 import org.apache.http.HttpResponse;
 2 import org.apache.http.client.methods.HttpPost;
 3 import org.apache.http.entity.StringEntity;
 4 import org.apache.http.impl.client.CloseableHttpClient;
 5 import org.apache.http.impl.client.HttpClientBuilder;
 6 
 7 public String getMiniProgramsQRCode(Integer restaurantId, String tableNumber, Integer tableNumberId) throws Exception {
 8 
 9         String accessToken = getMiniProgramsAccessToken();
10 
11         MiniProgramsCode miniProgramsCode = new MiniProgramsCode();
12 
13         String str = restaurantId.toString() + "*" + tableNumberId.toString() + "*" + tableNumber;
14         miniProgramsCode.setScene(str);
15         miniProgramsCode.setAuto_color(true);
16         //设置颜色
17         MiniProgramsCodeRgb miniProgramsCodeRgb = new MiniProgramsCodeRgb();
18         miniProgramsCode.setLine_color(miniProgramsCodeRgb);
19 
20         CloseableHttpClient build = HttpClientBuilder.create().build();
21         String postUrl = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + accessToken;
22         HttpPost httpPost = new HttpPost(postUrl);
23         httpPost.addHeader(HTTP.CONTENT_TYPE, "application/json");
24         String jsonStr = JSONObject.toJSONString(miniProgramsCode);
25         StringEntity se = new StringEntity(jsonStr,"UTF-8");  // 中文乱码解决
26         se.setContentType("text/json");
27         se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
28         httpPost.setEntity(se);
29         HttpResponse httpResponse = build.execute(httpPost);
      if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
       String result = EntityUtils.toString(httpResponse.getEntity());// 返回json格式:
       JSONObject response = JSON.parseObject(result);
        }
30         InputStream inputStream = httpResponse.getEntity().getContent();   //返回流格式
31         }

 

posted @ 2018-05-08 14:15  低调的小白  阅读(914)  评论(0编辑  收藏  举报