热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

微信开发之准备阶段的图文代码介绍

填写相关资料进行注册,在此我注册的是个人订阅号,如果有公司信息可以注册服务号。另外由于个人订阅号接口有限,对于个人开发不是很有利,微信还提供了测试账号,专为开发人员使用,进入如下地址申请测试号微信开发之准备阶段1
微信开发之准备阶段


所需资源:

1、微信公众平台账号

2、百度BAE平台账号

一、 微信公众账号申请

登录微信公众平台 在右上角有注册

测试号权限对于开发来说还是很不错的~

由于微信接入开发者模式需要提供可供微信服务器发送请求的url地址所以你的服务端必须能接入公网,可以使用花生壳等dns服务商,在此由于我用的是小区宽带不能解析,所以改用了百度的bae,没有公网ip的可以试试,初步接入测试感觉挺方便的,,用百度账号就可登陆,需要注意的是在bae使用中要用svn等管理应用,但是用户名又不支持中文所以如果百度账号是中文的朋友还是重新注册一个英文的吧,

接下来准备工作做完了就开始编写代码成为微信公众平台的开发者吧,以下代码出自柳峰老师博客

核心类:

package com.vlive.action.connector;  
import java.io.IOException;  
import java.io.PrintWriter;  
import javax.servlet.ServletException;  
import javax.servlet.http.HttpServlet;  
import javax.servlet.http.HttpServletRequest;  
import javax.servlet.http.HttpServletResponse;  
import com.vlive.utils.SignUtil;  
public class URlresponse extends HttpServlet{  
    @Override  
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)  
            throws ServletException, IOException {  
         // 微信加密签名    
        String signature = req.getParameter("signature");    
        // 时间戳    
        String timestamp = req.getParameter("timestamp");    
        // 随机数    
        String nOnce= req.getParameter("nonce");    
        // 随机字符串    
        String echostr = req.getParameter("echostr");    
        PrintWriter out = resp.getWriter();    
        // 通过检验signature对请求进行校验,若校验成功则原样返回echostr,表示接入成功,否则接入失败    
        if (SignUtil.checkSignature(signature, timestamp, nonce)) {    
            out.print(echostr);    
        }    
        out.close();    
        out = null;    
    }  
}



此类用到 SignUtil的checkSignature方法:

package com.vlive.utils;  
import java.security.MessageDigest;  
import java.security.NoSuchAlgorithmException;  
import java.util.Arrays;  
public class SignUtil {  
    private static String token="vlive";  
    public static boolean checkSignature(String signature, String timestamp, String nonce) {    
        String[] arr = new String[] { token, timestamp, nonce };    
        // 将token、timestamp、nonce三个参数进行字典序排序    
        Arrays.sort(arr);    
        StringBuilder cOntent= new StringBuilder();    
        for (int i = 0; i >> 4) & 0X0F];    
        tempArr[1] = Digit[mByte & 0X0F];    
        String s = new String(tempArr);    
        return s;    
    }    
}

以下是web.xml

  
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  
     
      
        URlresponse    
            
           com.vlive.action.connector.URlresponse    
            
        
        
        
        URlresponse    
        /urlresponse    
        
    
    index.jsp  
    



至此接入配置就可以开始了

填写相应url和token就可以成为开发者了,祝大家顺利~

以上就是微信开发之准备阶段的图文代码介绍的详细内容,更多请关注php中文网其它相关文章!


推荐阅读
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
author-avatar
LING2502856847
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有