总结
就写到这了,也算是给这段时间的面试做一个总结,查漏补缺,祝自己好运吧,也希望正在求职或者打算跳槽的 程序员看到这个文章能有一点点帮助或收获,我就心满意足了。多思考,多问为什么。希望小伙伴们早点收到满意的offer! 越努力越幸运!
金九银十已经过了,就目前国内的面试模式来讲,在面试前积极的准备面试,复习整个 Java 知识体系将变得非常重要,可以很负责任的说一句,复习准备的是否充分,将直接影响你入职的成功率。但很多小伙伴却苦于没有合适的资料来回顾整个 Java 知识体系,或者有的小伙伴可能都不知道该从哪里开始复习。我偶然得到一份整理的资料,不论是从整个 Java 知识体系,还是从面试的角度来看,都是一份含技术量很高的资料。
代码段:
/**
-
@param 用于获取access_token
-
@param apiKey 小程序id
-
@param secretKey 小程序密钥
-
@return access_token
-
@throws Exception
*/
public static String postToken() throws Exception {
String apiKey = “”;//小程序id
String secretKey = “”;//小程序密钥
String requestUrl = “https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=”+apiKey+“&secret=”+secretKey;
URL url = new URL(requestUrl);
// 打开和URL之间的连接
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 设置通用的请求属性
connection.setRequestProperty(“Content-Type”, “application/json”);
connection.setRequestProperty(“Connection”, “Keep-Alive”);
connection.setUseCaches(false);
connection.setDoOutput(true);
connection.setDoInput(true);
// 得到请求的输出流对象
DataOutputStream out = new DataOutputStream(connection.getOutputStream());
out.writeBytes(“”);
out.flush();
out.close();
// 建立实际的连接
connection.connect();
// 定义 BufferedReader输入流来读取URL的响应
BufferedReader in = null;
if (requestUrl.contains(“nlp”))
in = new BufferedReader(new InputStreamReader(connection.getInputStream(), “GBK”));
else
in = new BufferedReader(new InputStreamReader(connection.getInputStream(), “UTF-8”));
String result = “”;
String getLine;
while ((getLine = in.readLine()) != null) {
result += getLine;
}
in.close();
JSONObject jsonObject = JSON.parseObject(result);
String accesstoken=jsonObject.getString(“access_token”);
return accesstoken;
}
这个时候如果你 ID 和 密钥 没错的话应该就能获取到 access_token 了
然后就是拿着我们的 access_token 去获取。。正主了!!!
注意这个地方的请求方式是 post !!!如果不转换提交方式会报错 43002
请求成功返回的是二进制数据,失败则返回 JSON 。。注意解析 JSON 查看错误码
详细请查看 API 文档:https://developers.weixin.qq.com/miniprogram/dev/api-backend/getWXACodeUnlimit.html
参数啥的我就不说了。。看文档。。我是来记录踩得坑的!!
代码段:
/**
-
生成带参小程序二维码
-
@param scene 要输入的内容
-
@param accessToken token
*/
public static void postMiniqrQr(String scene, String accessToken) {
try{
URL url = new URL(“https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=”+accessToken);
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
// conn.setConnectTimeout(10000);//连接超时 单位毫秒
// conn.setReadTimeout(2000);//读取超时 单位毫秒
// 发送POST请求必须设置如下两行
httpURLConnection.setDoOutput(true); // 打开写入属性
httpURLConnection.setDoInput(true); // 打开读取属性
httpURLConnection.setRequestMethod(“POST”);// 提交方式
// 不得不说一下这个提交方式转换!!真的坑。。改了好长时间!!一定要记得加响应头
httpURLConnection.setRequestProperty(“Content-Type”, “application/x-javascript; charset=UTF-8”);// 设置响应头
// 获取URLConnection对象对应的输出流
PrintWriter printWriter = new PrintWriter(httpURLConnection.getOutputStream());
// 发送请求参数
JSONObject paramJson = new JSONObject();
paramJson.put(“scene”, scene); // 你要放的内容
paramJson.put(“path”, “pages/index/index”);
paramJson.put(“width”, 430); // 宽度
paramJson.put(“auto_color”, true);
printWriter.write(paramJson.toString());
// flush输出流的缓冲
printWriter.flush();
BufferedInputStream bis = new BufferedInputStream(httpURLConnection.getInputStream());
//创建一个空文件
OutputStream os = new FileOutputStream(new File(“C:/test/test.jpg”));
//ByteArrayOutputStream os = new ByteArrayOutputStream();
最后
现在正是金三银四的春招高潮,前阵子小编一直在搭建自己的网站,并整理了全套的**【一线互联网大厂Java核心面试题库+解析】:包括Java基础、异常、集合、并发编程、JVM、Spring全家桶、MyBatis、Redis、数据库、中间件MQ、Dubbo、Linux、Tomcat、ZooKeeper、Netty等等**
]