api.weixin.qq.com: 未知的名称或服务

一、背景

利用微信公众号发送消息,平常是好的,但是某一天突然不行了

二、错误

me.chanjar.weixin.common.error.WxErrorException: 错误: Code=0, Msg=api.weixin.qq.com
    at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.executeInternal(BaseWxMpServiceImpl.java:330)
    at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.execute(BaseWxMpServiceImpl.java:264)
    at me.chanjar.weixin.mp.api.impl.BaseWxMpServiceImpl.post(BaseWxMpServiceImpl.java:253)
    at me.chanjar.weixin.mp.api.impl.WxMpQrcodeServiceImpl.qrCodeCreateTmpTicket(WxMpQrcodeServiceImpl.java:85)
    at 

...

api.weixin.qq.com: 未知的名称或服务

三、解决方式

1.首先在能够请求外网的服务器或者本地电脑上ping api.weixin.qq.com

2.拿到对应的ip,

3.确认白名单的设置是否有对应的ip白名单,设置并用ping ip 确认连通情况

4.如果设置白名单后,ping api.weixin.qq.com还是不行,确认下当前服务器能否ping成功其他已在白名单上的Ip后,并且同时对应域名能够Ping 通,比如ping www.baidu.com

5.如果不能ping 通其他应该能够ping通的域名,则进行vi /etc/resolv.conf ,在这个文件中 在nameserver最前面一行加

nameserver 8.8.8.8

保存后重启网络服务,利用命令:service network restart

6.如果能够ping 通其他域名,则可能当前服务器没有对应的域名。利用vi /etc/resolv.conf 进入服务器配置域名ip文件,然后添加(不同地区ip可能不一样,可以从官网获取微信服务器IP地址 | 微信开放文档找到所有ip进行编辑添加)

117.144.228.18 api.weixin.qq.com

7.重新尝试

import requests import json def get_wechat_order_details(access_token, order_id): """ 获取微信订单详细信息(含收货地址) 参数:- access_token: POST https://api.weixin.qq.com/channels/ec/order/get?access_token=ACCESS_TOKEN - order_id: 3728511223747982080 url = f"https://api.weixin.qq.com/channels/ec/order/get?access_token={access_token}" headers = {"Content-Type": "application/json"} payload = {"order_id": order_id} try: # 发送 POST 请求 response = requests.post(url, headers=headers, data=json.dumps(payload)) response.raise_for_status() # 检查HTTP错误 result = response.json() # 检查接口返回错误 if 'errcode' in result and result['errcode'] != 0: print(f"接口错误:[{result['errcode']}] {result['errmsg']}") return None # 提取地址信息 if 'order' in result and 'address_info' in result['order']: address = result['order']['address_info'] print("完整收货地址:") print(f"收件人:{address.get('receiver_name', '')}") print(f"电话:{address.get('tel_number', '')}") print(f"详细地址:{address.get('detailed_address', '')}") return address print("未找到地址信息") return None except requests.exceptions.RequestException as e: print(f"网络请求失败: {str(e)}") except json.JSONDecodeError: print("响应解析失败") # 使用示例(需替换实际参数) ACCESS_TOKEN = "POST https://api.weixin.qq.com/channels/ec/order/get?access_token=ACCESS_TOKEN" # 通过微信API获取 ORDER_ID = "3728511223747982080" get_wechat_order_details(ACCESS_TOKEN, ORDER_ID)
06-02
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值