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();   //返回流格式
}

Java 通过get post 请求url的更多相关文章

  1. java实现https ssl请求url

    import java.io.*;import java.net.*;import java.security.*;import java.security.cert.*;import java.ut ...

  2. 工作记录之 [ python请求url ] v s [ java请求url ]

    背景: 模拟浏览器访问web,发送https请求url,为了实验需求需要获取ipv4数据包 由于不做后续的内容整理(有内部平台分析),故只要写几行代码请求发送https请求url列表中的url即可 开 ...

  3. Java获取此次请求URL以及服务器根路径的方法

    http://www.jb51.net/article/71693.htm ********************************************** 本文介绍了Java获取此次请求 ...

  4. Java获取项目当前请求的全部URL,Java获取Referer,Java获取完整链接地址URL

    Java获取项目当前请求的全部URL,Java获取Referer,Java获取完整链接地址URL >>>>>>>>>>>>> ...

  5. java跨服务器请求url获得数据

    在项目中,有时需要通过请求远程服务器上的url获取数据(前提是程序所在服务器可以和url服务器ping成功), 用java在后台发送请求时,用到了java.net.URL, java.net.URLC ...

  6. java httpclient发送json 请求 ,go服务端接收

    /***java客户端发送http请求*/package com.xx.httptest; /** * Created by yq on 16/6/27. */ import java.io.IOEx ...

  7. Java中获取完整的url

    Java中获得完整的URl字符串 HttpServletRequest httpRequest=(HttpServletRequest)request; String strBackUrl = &qu ...

  8. 关于cas-client单点登录客户端拦截请求和忽略/排除不需要拦截的请求URL的问题(不需要修改任何代码,只需要一个配置)

    前言:今天在网上无意间看到cas单点登录排除请求的问题,发现很多人在讨论如何通过改写AuthenticationFilter类来实现忽略/排除请求URL的功能:突发奇想搜了一下,还真蛮多人都是这么干的 ...

  9. java 执行https的请求

    普通的get和post请求只能执行http的请求,遇到的了https的就歇菜了,需要SSL安全证书处理. 该方法只能用jdk1.7和1.8进行处理,jdk1.6会报Could not generate ...

随机推荐

  1. python--字典dict

    字典由多个键与其对应的值构成的对组成,是另一种可变容器模型,且可存储任意类型对象.字典的每个键值用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中. 注:字典中的键是唯一的( ...

  2. 使用 ffmpeg 转换视频格式

    ffmpeg 是 *nix 系统下最流行的音视频处理库,功能强大,并且提供了丰富的终端命令,实是日常视频处理的一大利器! 实例 flac 格式转 mp3 音频格式转换非常简单: ffmpeg -i i ...

  3. GoldenGate 12.3 MA架构介绍系列(1) - 安装

    GoldenGate 12.3微服务架构与传统架构的区别可参考: http://www.cnblogs.com/margiex/p/7439574.html 下载地址:http://www.oracl ...

  4. java中的关键字、保留字、标识符

    Java关键字(KeyWord):  对Java的编译器有特殊的意义,他们用来表示一种数据类型或者表示程序的结构. Java保留字(Reserved Word):为Java预留的关键字,现在还没有用到 ...

  5. powermock+mockito+testng 单元测试pom文件

    0:Supported versions PowerMock version 1.7.0 and upper has experimental support of Mockito 2. A lot ...

  6. sed/awk advance

    $ echo test.file [Group1]cacheways = 19 [Group2]cacheways = 19 $ ls test.sh FILE=test.file2 # Set Gr ...

  7. Java 判断字符串是否为空的四种方法、优缺点与注意事项

    以下是Java 判断字符串是否为空的四种方法: 方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低: if(s == null ||"".equals(s));方法二: ...

  8. ZOJ 3963 Heap Partition(multiset + stl自带二分 + 贪心)题解

    题意:给你n个数字s1~sn,要你把它们组成一棵棵二叉树,对这棵二叉树来说,所有节点来自S,并且父节点si<=子节点sj,并且i<j,问你树最少几棵二叉数.树 思路:贪心.我们往multi ...

  9. 【做题】CF285E. Positions in Permutations——dp+容斥

    题意:求所有长度为\(n\)的排列\(p\)中,有多少个满足:对于所有\(i \,(1 \leq i \leq n)\),其中恰好有\(k\)个满足\(|p_i - i| = 1\).答案对\(10^ ...

  10. 18 Issues in Current Deep Reinforcement Learning from ZhiHu

    深度强化学习的18个关键问题 from: https://zhuanlan.zhihu.com/p/32153603 85 人赞了该文章 深度强化学习的问题在哪里?未来怎么走?哪些方面可以突破? 这两 ...