微信开发java测试_微信测试号开发入门配置问题java

这个测试号配置弄了好几天了,入了无数坑,终于解决了。。。辛苦我了,手动安慰一下自己。。

为了萌新们以后不要再浪费时间绕半天做无用功。看看楼楼的艰苦历程吧。

此教程针对没有云服务器,没有自己的域名的、没钱的、等不及域名备案的同学。

第一步:申请公众号。

这里用订阅号,个人。实名认证一下就行了。注册地址:https://mp.weixin.qq.com/

遇到问题:

1:邮箱不通过?因为绑定了你微信号的邮箱是不可以用的。就算你解绑,也是要等很久才能用,这里可以直接注册另一个邮箱。

用网易或新浪重新申请了一个邮箱账号,只把@qq.com改成@163.com申请就可以了,方便记忆。注册地址:http://mail.sina.com.cn/

第二步:准备好配置验证代码:写个servlet

这里用jdk1.7  (配置自行百度),eclipse,服务器tomcat安装配置自行百度(注意将conf下service.xml里端口号改为80,自行百度)

1:Test.java           注意;这里新建的时候选择servlet。 WEB-INF下就会自动生成web.xml配置文件,如果没有请自己新建

importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importcc.ngork.heyes.tools.CheckUtil;

@WebServlet("/Test")public class Test extendsHttpServlet {private static final long serialVersionUID = 1L;/***@seeHttpServlet#HttpServlet()*/

publicTest() {super();//TODO Auto-generated constructor stub

}/***@seeHttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {

response.setCharacterEncoding("utf-8");

response.setContentType("text/html;charset=utf-8");

String signature= request.getParameter("signature");

String timestamp= request.getParameter("timestamp");

String nonce= request.getParameter("nonce");

String echostr= request.getParameter("echostr");

System.out.println("signature:" +signature);

System.out.println("timestamp:" +timestamp);

System.out.println("nonce:" +nonce);

System.out.println("echostr:" +echostr);

PrintWriter out=response.getWriter();if(CheckUtil.checkSignature(signature, timestamp, nonce)){

out.print(echostr);

System.out.println("成功");

}else{

out.print(echostr);

System.out.println("失败");

}

out.flush();

}/***@seeHttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throwsServletException, IOException {

doGet(request, response);

}

}

servlet的web.xml配置不会自行百度吧,挺简单的。懒得写了。

2:CheckUtil.java

importjava.security.MessageDigest;importjava.util.Arrays;public classCheckUtil {private static final String token = "这里填写你自己的token,随便写";public static booleancheckSignature(String signature,String timestamp,String nonce){

String[] arr= newString[]{token,timestamp,nonce};

Arrays.sort(arr);//生成字符串

StringBuffer content = newStringBuffer();for(int i=0;i

{

content.append(arr[i]);

}//加密

String temp =getSha1(content.toString());returntemp.equals(signature);

}public staticString getSha1(String str){if(str==null||str.length()==0){return null;

}char hexDigits[] = {'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'};try{

MessageDigest mdTemp= MessageDigest.getInstance("SHA1");

mdTemp.update(str.getBytes("UTF-8"));byte[] md =mdTemp.digest();int j =md.length;char buf[] = new char[j*2];int k = 0;for (int i = 0; i < j; i++) {byte byte0 =md[i];

buf[k++] = hexDigits[byte0 >>> 4 & 0xf];

buf[k++] = hexDigits[byte0 & 0xf];

}return newString(buf);

}catch(Exception e) {return null;

}

}

}

这里工程发布到tomcat后,直接网页进入是500错误,这没有关系,不要担心。进入下一步。

第三步:使用sunny ngrok  映射

网址:https://www.ngrok.cc    按照他说的仔细看他给的教程完成操作。完全免费。一定要看教程!!!

下载客户端后双击.bat文件输入隧道id后回车,出现这个界面代表成功!保持这个界面开启,保持tomcat刚刚写的工程发布、开启。

4b41ffff1ebf0eeef711b8898d5a20c8.png

第四步:进入微信公众号,开发,基础配置:

配置token和url

url是你的工程路径:如你在sunny ngrok里申请了叫demo,你的前置域名就是:http://demo.free.ngrok.cc

然后看你刚工程Test的web.xml文件

Test

/servlet/Test

这里这样配置那么你的url就是:http://demo.free.ngrok.cc/servlet/Test

token就是你在刚刚代码里填的token

点击提交。看看你的eclipse控制台有没有信息显示,如果显示了成功。而提交那边显示url超时不要急,因为这个sunny ngrok给你的免费服务器是香港的,网络不太稳定,也很卡。你把那个.bat

退出重进输入隧道id重启,再提交!还是超时就再来一次,(确保eclipse是有信息的,如果没有就是别的地方错了,楼楼反正没遇到)再来一次。。。如果显示不成功请注意你的tomcat是不是改为80端口。

第五步:进入微信公众号,开发者工具。微信测试号开发。进入:

之后填写url和token如果显示配置失败请按照第四步弄。配置成功恭喜你可以进行开发了。

说的不太详细,但是希望可以解决你的问题。

这个仅供不想花钱的学习者开发使用教程。至少现在sunny ngrok还是可以用的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值