今天公司老总,叫我把公司的企业微信,服务商管理后台中的本地应用进行回调验证。

听起来一脸懵逼,没搞过企业微信对接情况。一头雾水,不知道如何下手。

先讲解一下,企业微信情况。

登录到企业微信后,右上角服务商管理后台

之后点击进入应用管理界面

选择网页应用,这里说下,创建应用的方法,自己去百度一下哈,如何创建我就不阐述了。这里配置回调URL,即是你网站的URL地址,

比如:https://xxxx.xxxx.com/weixin

这里我用Django框架的公司网站进行回调验证,如果没有验证回调成功,下面会有提示需要得到服务商的响应,才可以验证成功。

接下来讲讲如何实现,微信官方给了一个Python回调验证的dome演示包,我们可以在这里下载https://work.weixin.qq.com/api/doc#90000/90138/90307/python%E5%BA%93

这里就有第一个大坑,本代码使用了pycrypto这个包,这里用到一个叫crypto的东西,这个玩意3年前就不更新了。所以在网上找了一圈,怎么安装

这里我先不说安装方式,后面的博客中,继续更新如何安装这个坑爹的python包。

安装好这个包后,你会发现,我们从微信官方下载的python代码包,里面是用python2.7版本的,那么问题来了,这里我用的python3.6,纳尼?

不兼容,怎么办,先跑起来,遇到问题在说吧!

在你的Django中,添加如下ULR,这个URL需要匹配任意的请求地址。

这里我就不阐述用(.*)的意思了,就是匹配任意的URL

因为在做URL回调的时候,微信会给你发一个类似如下图的,这样一个URL,这个测试连接地址为:https://work.weixin.qq.com/api/devtools/devtool.php

如何使用这个测试连接。

按照如下内容进行填写,企业CorpID自己找到后填写正确。点击检查问题,就会有前面一张图中所示的URL地址,这个地址就可以拿来进行本地测试。因为我是现在本地测试成后,才修改在官网上的!

拿着这个测试的URL,在你的Django上先进行URL匹配测试

我这里匹配到URL以后,返回页面

说明你的URL匹配已经成功,接下来要做的就是如何解析RUL,把URL中的内容拆分出来。

在views.py中写你的匹配的方法:

def weixin(request):
    if request.method == "POST":
        return HttpResponse("Weixin-NO")
    else:
        signature = request.GET.get('msg_signature', '')
        timestamp = request.GET.get('timestamp', '')
        nonce = request.GET.get('nonce', '')
        echo_str = request.GET.get('echostr', '')
        print(signature)
        print(timestamp)
        print(nonce)
        print(echo_str)
        return HttpResponse("Weixin-yes")

更多相关文章

  1. 【python coding 1:网络检测】ping本地文件里的ip地址
  2. Python 3.4 AssertEqual()在Django单元测试中使用时的未预测行为
  3. Django:测试成功加载静态文件
  4. Appium基于Python APP自动化测试框架
  5. python正则表达式匹配时间和IP地址
  6. 初学者的Selenium自动化测试指南,基于Python(五)——常用键盘事件
  7. 基于Python的XSS测试工具XSStrike使用方法
  8. Python——域名解析成IP地址
  9. 套接字错误“IP地址在其上下文中无效” - Python

随机推荐

  1. android timed gpio (linux 3.0.0) 受时
  2. Android -- Sqlite事务
  3. Android ListView 去除边缘阴影、选中色
  4. 转:Android 发送短信的方法
  5. Android 隐藏StatusBar
  6. Android界面布局开发使用的标签介绍
  7. 活动的启动模式汇总
  8. android ScrollView边界阴影方法
  9. android全屏设置代码:
  10. ListView 常用属性 详解