
正文
Java 通过get post 请求url
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
1️⃣.已获取小程序的access_token 为例,通过Get请求url
import com.alibaba.fastjson.JSONObject;
String wechatUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}";
String appId = "xxxx";
String secret = "xxxxx";
String getUrl = MessageFormat.format(wechatUrl, appId, secret);
URL url = new URL(urlStr);
JSONObject jsonObject;
try (InputStream inputStream = url.openStream()) {
jsonObject = JSONObject.parseObject(IOUtils.toString(inputStream));
}
if (jsonObject.containsKey("errmsg")) {
throw new LobsterException("获取token,原因:" + jsonObject.getString("errmsg"));
}
return jsonObject.getString("access_token");
2️⃣.已获取小程序码为例,通过Post请求url 也可以参考https://www.cnblogs.com/bchange/p/9156178.html
1.先设置小程序码参数
package com.ieou.lobster.dto;
public class MiniProgramsCode {
private String scene;
private String page = "pages/shop/shop";
private int width = 300;
private Boolean auto_color;
private Object line_color;
public String getScene() {
return scene;
}
public void setScene(String scene) {
this.scene = scene;
}
public String getPage() {
return page;
}
public void setPage(String page) {
this.page = page;
}
public int getWidth() {
return width;
}
public void setWidth(int width) {
this.width = width;
}
public Boolean getAuto_color() {
return auto_color;
}
public void setAuto_color(Boolean auto_color) {
this.auto_color = auto_color;
}
public Object getLine_color() {
return line_color;
}
public void setLine_color(Object line_color) {
this.line_color = line_color;
}
}
2.对URL进行Post请求
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder; public String getMiniProgramsQRCode(Integer restaurantId, String tableNumber, Integer tableNumberId) throws Exception { String accessToken = getMiniProgramsAccessToken(); MiniProgramsCode miniProgramsCode = new MiniProgramsCode(); String str = restaurantId.toString() + "*" + tableNumberId.toString() + "*" + tableNumber;
miniProgramsCode.setScene(str);
miniProgramsCode.setAuto_color(true);
//设置颜色
MiniProgramsCodeRgb miniProgramsCodeRgb = new MiniProgramsCodeRgb();
miniProgramsCode.setLine_color(miniProgramsCodeRgb); CloseableHttpClient build = HttpClientBuilder.create().build();
String postUrl = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + accessToken;
HttpPost httpPost = new HttpPost(postUrl);
httpPost.addHeader(HTTP.CONTENT_TYPE, "application/json");
String jsonStr = JSONObject.toJSONString(miniProgramsCode);
StringEntity se = new StringEntity(jsonStr,"UTF-8"); // 中文乱码解决
se.setContentType("text/json");
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
httpPost.setEntity(se);
HttpResponse httpResponse = build.execute(httpPost);
if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
String result = EntityUtils.toString(httpResponse.getEntity());// 返回json格式:
JSONObject response = JSON.parseObject(result);
}
InputStream inputStream = httpResponse.getEntity().getContent(); //返回流格式
}






