访问https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login,用微信扫码登录,获取测试号的APP_ID和APP_SECRET,务必保存这两个参数,后续操作需直接使用。
选用Ubuntu 20.04 LTS系统(零门槛运维),完成以下操作:
登录微信测试号后台,进入「开发者配置」-「授权IP白名单」,将服务器公网静态IP填入,必须确保白名单仅包含当前服务器IP,避免非授权访问。
在服务器创建名为`wx_ec.py`的文件,写入以下完整代码:
```python from flask import Flask, request import requests import xml.etree.ElementTree as ET app = Flask(__name__) 替换为你的微信测试号参数 APP_ID = "你的APP_ID" APP_SECRET = "你的APP_SECRET" 获取微信接口调用凭证 def get_access_token(): url = f"https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={APP_ID}&secret={APP_SECRET}" resp = requests.get(url) return resp.json().get("access_token") 微信服务器验证回调接口 @app.route("/wx_callback", methods=["GET", "POST"]) def wx_callback(): if request.method == "GET": 微信接口验证固定逻辑 return request.args.get("echostr", "") if request.method == "POST": 解析用户消息 xml_data = ET.fromstring(request.data) from_user = xml_data.find("FromUserName").text msg_type = xml_data.find("MsgType").text 用户发送任意文本时,返回电商商品卡片 if msg_type == "text": token = get_access_token() send_url = f"https://api.weixin.qq.com/cgi-bin/message/custom/send?access_token={token}" send_data = { "touser": from_user, "msgtype": "text", "text": {"content": "【电商专属】今日爆款:2024新款帆布鞋,链接:https://你的电商店铺链接"} } requests.post(send_url, json=send_data) return "success" if __name__ == "__main__": 监听公网地址,确保微信服务器可访问 app.run(host="0.0.0.0", port=5000, debug=False) ```执行以下命令创建并编辑nginx配置文件:
```bash sudo vim /etc/nginx/sites-available/wx_ec ```填入完整配置:
```nginx server { listen 443 ssl; server_name 你的绑定域名; 需提前在域名服务商处解析到服务器IP 替换为你的SSL证书路径,免费证书可从https://letsencrypt.org/申请 ssl_certificate /etc/nginx/ssl/你的证书.crt; ssl_certificate_key /etc/nginx/ssl/你的证书.key; location /wx_callback { proxy_pass http://127.0.0.1:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } ```启用配置并重启nginx:
```bash sudo ln -s /etc/nginx/sites-available/wx_ec /etc/nginx/sites-enabled/ sudo nginx -t && sudo systemctl restart nginx ```
1. 运行脚本:`python3 wx_ec.py`
2. 用微信扫描测试号二维码,发送任意文本,检查是否收到电商商品回复
3. 若失败,排查点:白名单IP是否正确、端口是否开放、域名解析是否生效、APP_ID/APP_SECRET是否替换
1. 替换微信测试号为正式公众号,更新APP_ID/APP_SECRET
2. 使用gunicorn替代Flask自带服务器,命令:`gunicorn -w 4 -b 0.0.0.0:5000 wx_ec:app`
3. 添加开机自启动:编辑`/etc/systemd/system/wx_ec.service`,写入内容后启动服务
```ini [Unit] Description=WeChat Ecommerce Service After=network.target [Service] User=root WorkingDirectory=/root ExecStart=/usr/local/bin/gunicorn -w 4 -b 0.0.0.0:5000 wx_ec:app Restart=always [Install] WantedBy=multi-user.target ```启动并设置自启动:
```bash sudo systemctl daemon-reload sudo systemctl start wx_ec sudo systemctl enable wx_ec ```完成以上步骤后,即可实现用户在微信中与你的公众号交互时,自动推送电商商品内容,全程无需手动操作。












易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。
Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图