企业微信自定义应用 企业可信IP配置 企业可信ip怎么设置

这篇具有很好参考价值的文章主要介绍了企业微信自定义应用 企业可信IP配置 企业可信ip怎么设置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

现在创建应用想要使用需要设置企业可信IP,而配置企业可信IP需要先配置 设置可信域名 或 设置接收消息服务器URL,域名需要花钱而且配置麻烦,这里选择 设置接收消息服务器URL。

不设置就报这个错误:

真麻烦呀!!!

{u'errcode': 60020, u'errmsg': u'not allow to access from your ip, hint: [1692000515331], from ip: xxx.xxx.xxx.xx, more info at https://open.work.weixin.qq.com/devtool/query?e=60020'}

这里其实是一个类似防火墙的功能,只要在里面配置可以访问过来的 IP 就可以了

配置条件:

* 找一台有公网的linux服务器 没有可以选择内网穿透软件  都没有我也没办法

* 安装python3  百度一下 

创建自定义应用

配置企业可信ip前,请先 设置可信域名 或 设置接收消息服务器url,企业微信,设置可信域名,设置接收消息服务器URL,企业可信IP,监控,运维,告警

登录网页版 >应用管理>创建应用>进入应用>最下面有个企业可信IP>选择设置接收消息服务器URL


 

脚本里的这段代码配置一下

点击一下这里获取个随机值Token 和 EncodingAESKey 粘贴进去就行了,注意: 不要关闭网页一会还要用。

配置企业可信ip前,请先 设置可信域名 或 设置接收消息服务器url,企业微信,设置可信域名,设置接收消息服务器URL,企业可信IP,监控,运维,告警

 企业信息的ID在我的企业可以找到

配置企业可信ip前,请先 设置可信域名 或 设置接收消息服务器url,企业微信,设置可信域名,设置接收消息服务器URL,企业可信IP,监控,运维,告警

这里提示下:下面改 2.py 文件时,改的时候只要改下面文件里的这个部分就好了

qy_api = [
    WXBizMsgCrypt("XXXXXXX", "XXXXXXX", "XXXXXXX"), 
] #对应接受消息回调模式中的token,EncodingAESKey 和 企业信息中的企业id

引入WXBizMsgCrypt模块步骤 

将这个文件放在和脚本同一个目录即可

# 下载项目
wget https://github.com/sbzhu/weworkapi_python/archive/refs/heads/master.zip

# 解压
unzip master.zip

# 改名
mv weworkapi_python-master weworkapi_python

⚠️:引入模块上面这里切记要修改模块名为 weworkapi_python ,否则无法使用

随便起个名vim到一个文件即可 我这里叫2.py   这里改的时候只要改上面框出的企业的信息即可

[root@apphost dba]# cat 2.py 
#-*- encoding:utf-8 -*-
from flask import abort, request
from flask import Flask
from xml.dom.minidom import parseString
import _thread
import time
import os
import sys
sys.path.append("weworkapi_python/callback")  # 正确的模块导入路径
from WXBizMsgCrypt3 import WXBizMsgCrypt   # https://github.com/sbzhu/weworkapi_python 项目地址
app = Flask(__name__)

# 对应步骤4中接受消息回调模式中的URL,如域名是'www.example.com' 那么在步骤4中填入的url就为"http://www.example.com/hook_path"
@app.route('/hook_path', methods=['GET','POST']) 
def douban():
    if request.method == 'GET':
        echo_str = signature(request, 0)
        return(echo_str)
    elif request.method == 'POST':
        echo_str = signature2(request, 0)
        return(echo_str)

qy_api = [
    WXBizMsgCrypt("XXXXXXX", "XXXXXXX", "XXXXXXX"),
] #对应接受消息回调模式中的token,EncodingAESKey 和 企业信息中的企业id   # 只改这里即可

# 开启消息接受模式时验证接口连通性
def signature(request, i): 
    msg_signature = request.args.get('msg_signature', '')
    timestamp = request.args.get('timestamp', '')
    nonce = request.args.get('nonce', '')
    echo_str = request.args.get('echostr', '')
    ret,sEchoStr=qy_api[i].VerifyURL(msg_signature, timestamp,nonce,echo_str)
    if (ret != 0):
        print("ERR: VerifyURL ret: " + str(ret))
        return("failed")
    else:
        return(sEchoStr)

# 实际接受消息
def signature2(request, i):
    msg_signature = request.args.get('msg_signature', '')
    timestamp = request.args.get('timestamp', '')
    nonce = request.args.get('nonce', '')
    data = request.data.decode('utf-8')
    ret,sMsg=qy_api[i].DecryptMsg(data,msg_signature, timestamp,nonce)
    if (ret != 0):
        print("ERR: DecryptMsg ret: " + str(ret))
        return("failed")
    else:
        with open ("/var/log/qywx.log", 'a+') as f: # 消息接收日志
            doc = parseString(sMsg)
            collection = doc.documentElement
            name_xml = collection.getElementsByTagName("FromUserName")
            msg_xml = collection.getElementsByTagName("Content")
            type_xml = collection.getElementsByTagName("MsgType")
            pic_xml = collection.getElementsByTagName("PicUrl")
            msg = ""
            name = ""
            msg_type = type_xml[0].childNodes[0].data
            if msg_type == "text": #文本消息
                name = name_xml[0].childNodes[0].data        #发送者id
                msg = msg_xml[0].childNodes[0].data          #发送的消息内容
                f.write(time.strftime('[%Y-%m-%d %H:%M:%S]') + "[ch%d] %s:%s\n" % (i, name, msg))
                _thread.start_new_thread(os.system, ("python3 command.py '%s' '%s' '%d' '%d'" % (name, msg, i, 0), )) #此处将消息进行外部业务处理
                
            elif msg_type == "image": #图片消息
                name = name_xml[0].childNodes[0].data
                pic_url = pic_xml[0].childNodes[0].data
                f.write(time.strftime('[%Y-%m-%d %H:%M:%S]') + "[ch%d] %s:图片消息\n" % (i, name))
                _thread.start_new_thread(os.system, ("python3 command.py '%s' '%s' '%d' '%d'" % (name, pic_url, i, 1), ))  #此处将消息进行外部业务处理

            f.close()

        return("ok")

if __name__=='__main__':
    app.run("0.0.0.0", 888)  #本地监听端口,可自定义

运行项目

python3 2.py

这里运行的时候可能会缺少模块,缺少什么模块会提示使用下面的命令安装即可,安装不上百度直接贴百度,有些包名不一样

pip3 install 模块名

这样就运行起来了配置企业可信ip前,请先 设置可信域名 或 设置接收消息服务器url,企业微信,设置可信域名,设置接收消息服务器URL,企业可信IP,监控,运维,告警

运行时注意引入的库是否引入正确

脚本里的端口注意不要和现有的端口冲突了

防火墙或云主机网络限制是否开放了888端口

解决以上问题后访问你的url即可

# 路径要写上
http://你的IP地址:888/hook_path

配置企业可信ip前,请先 设置可信域名 或 设置接收消息服务器url,企业微信,设置可信域名,设置接收消息服务器URL,企业可信IP,监控,运维,告警

这样就说明好了

然后在API接收消息的网页上输入这个路径点击保存即可成功

注意:

确保网页上的Token 和 EncodingAESKey 和脚本里的一致

即:上面提示不要关的网页

配置企业可信ip前,请先 设置可信域名 或 设置接收消息服务器url,企业微信,设置可信域名,设置接收消息服务器URL,企业可信IP,监控,运维,告警

点击保存成功后就可以写进去 IP 了

这样就可以写可信IP了 铁汁

把你的IP写进去就不报错了

配置企业可信ip前,请先 设置可信域名 或 设置接收消息服务器url,企业微信,设置可信域名,设置接收消息服务器URL,企业可信IP,监控,运维,告警

用完把脚本关了就行,铁汁们,点个赞咋样文章来源地址https://www.toymoban.com/news/detail-848133.html

到了这里,关于企业微信自定义应用 企业可信IP配置 企业可信ip怎么设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Docker网络配置与自定义IP容器通信

    目录 前言 一、docker网络配置 1. bridge 虚拟网桥 2. host 网络模式 3. none 网络模式 4. 自定义container网络模式 二、自定义IP容器通信 1. 自定义IP 2. 创建所需容器(mysql,tomcat) 3. 准备项目资源 4. 构建Nginx实现负载均衡          当项目大规模使用 Docker 时,容器通信的问题也就

    2024年01月25日
    浏览(48)
  • Jtti:Ubuntu静态IP地址怎么配置

    在 Ubuntu 中配置静态 IP 地址需要编辑网络配置文件。以下是在 Ubuntu 20.04 版本中配置静态 IP 地址的步骤: 打开终端,以管理员身份登录或使用 sudo 权限。 使用以下命令打开网络配置文件进行编辑: sudo nano /etc/netplan/00-installer-config.yaml 这里使用的是 nano 编辑器,你也可以使用

    2024年02月14日
    浏览(42)
  • 企业微信{“errcode“:60020,“errmsg“:“not allow to access from your ip, hint: [1681129678500613099333714]

    配置企业微信小程序时,报了如下错误:企业微信{“errcode”:60020,“errmsg”:“not allow to access from your ip, hint: [1681129678500613099333714], from ip: xxx.xx.xxx.165, more info at https://open.work.weixin.qq.com/devtool/query?e=60020”} 解决方案: 1、找到【应用管理】-【企业可信IP】-【配置】-将上面报错

    2024年02月11日
    浏览(48)
  • 电脑本地连接显示没有有效的IP配置该怎么办?

    电脑不能上网后通过系统在对电脑进行网络诊断时检测到“本地连接”没有有效的 IP 配置,那么应该如何解决呢? 1、系统的检测报告如下所示,并有如下解决提醒 2、试了系统给的解决方法后仍不成功,可以通过如下方案解决。首先进入到“控制面板” 3、单击如下按钮 4、

    2024年02月08日
    浏览(51)
  • 怎么配置局域网中的各机器的TCP/IP协议

    xp系统下载SyGate安装好后,不能马上就使用,还必须对局域网内各机器的TCP/IP协议进行一些设定。首先需要对主机进行设定。 1、主机的TCP/IP设置 主机的TCP/IP设置如下: [1]假如本机的网卡为8029,如图所示,选择“指定IP地址”为192.168.0.1(注意后面这个1可以是1到255之间的任意一

    2024年02月06日
    浏览(41)
  • 微信公众号配置IP白名单返回“errcode”: 40164

    问题背景 微信公众号→设置与开发→基本配置→IP白名单 返回错误 微信公众号设置白名单不生效, “errcode”: 40164, “errmsg”: “invalid ip 0.0.0.0, not in whitelist” 可能原因分析 貌似是网络运营商为了节约IP地址,把WAN-IP用的地方局域网IP和外网IP搞的不一致,这样公众号获取I

    2024年02月07日
    浏览(36)
  • Ubuntu 22.04网络配置指南:如何设置静态IP和自定义DNS服务器

    找到并打开Netplan配置文件 : 在Ubuntu终端中,输入以下命令来编辑Netplan的配置文件: 请确保文件名与您系统中实际的文件名匹配。 更新配置文件 : 使用以下内容替换文件中的内容(根据实际情况调整接口名称 enp0s3 、IP地址、网关和DNS服务器): 在这个配置中: enp0s3 是网

    2024年04月11日
    浏览(64)
  • 云计算应用管理----TCP/IP协议及配置、IP地址、子网掩码、网关地址、DNS与DHCP介绍

    一 、云计算的介绍 什么是服务器 •能够为其他计算机提供服务的更高级的电脑 –机架式 –塔式 –机柜式 –刀片式 典型服务模式 •C/S,Client/Server架构 –由服务器提供资源或某种功能 –客户机使用资源或功能 二 、TCP/IP协议及配置 •TCP/IP是最广泛支持的通信协议集合 –包

    2024年01月23日
    浏览(56)
  • 电脑只能登录微信?但却打不开网页?不能上网怎么办?ip地址和DNS出问题了无法上网怎么办?

    描述一下问题: 昨天使用了一些代理梯子。直接关机,没有关闭那个软件、今天打开电脑就出问题了。只能登录微信!但却打不开网页! 今天查了很多资料都没有解决。花了2个多小时。终于可以上网了! 找到【控制面板】 --【网络和Internet】-- 里面的【网络连接】或者【网

    2024年02月05日
    浏览(81)
  • feign自定义第三方接口;配置化Feign接口URL;调用指定IP的feign服务

    最近接手一个项目,各子工程之间通过feign调用;各服务部署在K8S上,通过nacos管理配置;由于服务部署的机器无法开放端口等原因,导致本机服务与测试环境网络端口无法互通,故需要重写feign的调用地址;个人总结的方法有以下几种: 目录  第一种:feignclient配置URL 第二种

    2024年02月04日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包