这两天,我想学习微信公众号的开发,于是在网上搜索并着手练习。 在这个过程中,出现了各种各样的问题(说明不完整,有的文章不知道是怎么跳出了新的常数,也没有说是在哪里定义的。 另外,jar包版本的问题填补了我一天的时间) )因此,在这里记录。
1 .首先,你必须注册微信公众号。 上姑娘搜索微信发布平台,进入此页面注册。 (跳过现有帐户的这一步骤) )。
2 .然后在Eclipse中创建新项目。 这里我建的是web项目,jdk是1.8,tomcat是8.5。
3 .为了建立与微信的连接,工程建设后,首先新建了一个名为" CheckUtil "的班级,其作用是作为与微信连接的检测工具,代码为: import Java.security.message digest;
import java.util.Arrays;
公共类检查实用工具{
公共静态文件字符串工具包=“自定义”; //开发者自己定义Tooken
publicstaticbooleanchecksignature (string signature,String timestamp,String nonce ) {
//1 .定义存储tooken、timestamp、nonce的数组
String[] arr={tooken,timestamp,nonce};
//2 .对数组进行排序
Arrays.sort(arr;
//3 .生成字符串
StringBuffer sb=new StringBuffer (;
for(strings:arr ) {
sb.append(s;
}
//4.sha1加密,网上有现成的代码
stringtemp=getsha1(sb.tostring () );
//5 .比较加密后的字符串和从微信发送来的加密签名,并返回结果
returntemp.equals(signature;
}
publicstaticstringgetsha1(stringstr ) {
if(str==null||str.length(==0) )。
返回空值;
}
char hexDigits[]={'0','1','2','3','4','5','6','7','8','9',
' a '、' b '、' c '、' d '、' e '、' f'};
try {
messagedigestmdtemp=message digest.getinstance (sha1 );
MD temp.update (str.getbytes (utf-8 ) );
byte[] md=mdTemp.digest (;
int j=md.length;
char buf[]=new char[j*2];
int k=0;
for(intI=0; i j; I ) {
byte byte0=md[i];
buf[k ]=hexDigits[byte0 40xf];
buf[k ]=hexDigits[byte00xf];
}
返回新字符串(buf;
}catch(exceptione ) {
//TODO: handle exception
返回空值;
}
}
}
4 .然后创建新的servlet并重写doGet方法以接收来自微信的GET请求。 一些代码如下所示。 公共void doget (httpservletrequestrequest,HttpServletResponse response ) Throws
response.set content type (' text/html );
string signature=request.getparameter (signature );
string timestamp=request.getparameter (' timestamp );
string nonce=request.getparameter (' nonce );
stringechostr=request.getparameter (echostr );
printwriter out=response.get writer (;
检查util.check signature (signature,timestamp,nonce ) ) }
//如果检查成功,则将得到的随机字符串复原
out.print(Echostr;
}
}
5 .编写代码后,这里需要一些将我们的内部网链路映射到公共网络的工具。 这样,微信就可以进入我们的后台了。 在这里我采用了免费的测绘工具ngrok。 一旦给女儿搜索下载就行了。 下载后,将其解压缩并放入指定位置,同时按住win键和r键,输入cmd,返回dos环境,切换到包含ngrock的驱动器盘符,然后输入ngrock
6 .回到车上等一会儿,就可以获得公共网络的链接。 下图阴影区域中显示的链接可以直接访问本地127.0.0.1:8080的链接内容。 分别是对应于http协议和https协议的地址。
7 .登录微信公众号平台,滑动至底部,点击左下角开发——基本配置。
点击发送按钮,提示发送成功后,微信就可以访问我们自己的后台了。
相关建议: