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. flask框架----数据库连接池

    数据库连接池 flask中是没有ORM的,如果在flask里面连接数据库有两种方式 一:pymysql 二:SQLAlchemy 是python 操作数据库的一个库.能够进行 orm 映射官方文档 s ...

  2. CentOS7安装MySQL冲突和问题解决小结

    摘自:https://blog.csdn.net/typa01_kk/article/details/49059729 问题1: [root@localhost install-files]# rpm ...

  3. 深入理解HashMap+ConcurrentHashMap的扩容策略

    前言 理解HashMap和ConcurrentHashMap的重点在于: (1)理解HashMap的数据结构的设计和实现思路 (2)在(1)的基础上,理解ConcurrentHashMap的并发安全的 ...

  4. RTSP 与 RTMP 协议 (转)

    源: RTMP协议与RTSP协议比较 RTSP 与 RTMP 协议 RTSP Spec中文版(1-11) RTSP协议 流媒体之rtsp篇 H264视频传输.编解码----RTSP协议

  5. IntelliJ IDEA. Debug模式

    资料收集: https://www.bilibili.com/video/av6749471/?p=16 eclipse debug模式. 基础 Intellij Idea--Debug使用 Inte ...

  6. java中的基本数据类型和引用数据类型

    java中基本数据类型有8种:byte,short,int,long,char,float,double,boolean 整型有四种:byte short,int,long byte:   1字节   ...

  7. 《2015 html5 iweb 峰会观会后感》

    今天是2015  html5 iweb 峰会,大会在早上8:30,就开始了,没想到被坑了,看错一个字,把"国际会议中心",看成了"国家会议中心".大约过了10多 ...

  8. 3、pandas的loc和iloc数据筛选

    选择列: 选择一列: 选择多列(选择的内容变成list,也就是要两个方括号): 选择一行或多行(loc函数): 选择连续的行(以索引标签为选择参数): 选择非连续的行(以索引标签为选择参数): 选择包 ...

  9. openstack components internal relations

    1.  各个组件之间可以互相调用(都是common sense) conductor 负责DB的操作. 各个组件之间通过RPC, 序列化通过oslo_versionedobjects. 2. 具体调用 ...

  10. 你不知道的JavaScript(1)LHS查询和RHS查询

    打算把<你不知道的JavaScript>中的知识点整理下,写点自己的心得,同时也敦促自己看书. 先做个整体的介绍,最后会再给个综合的例子. RHS 查询与简单地查找某个变量的值别无二致,而 ...