【异常解决】UnknownHostException: api.weixin.qq.com 的解决方案

本文涉及的产品
云解析DNS,个人版 1个月
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 【异常解决】UnknownHostException: api.weixin.qq.com 的解决方案

一、问题描述

在使用微信服务过程中(调用api.weixin.qq.com),经常会碰到如下这种问题:“java.net.UnknownHostException: api.weixin.qq.com: 未知的名称或服务”。如下图所示:

关键是这种问题不是必现,在Windows电脑上可能正常调用,但是部署到服务器(Linux系统)上却出现了,问题很难排查。查了好多方案都没有解决。最后通过不断分析实验,得出本文解决方法。

二、解决方案

Linux系统下的解决方案如下:

步骤1:找到resolv.conf配置文件

一般情况下此文件都会在 /etc/ 目录下

配置上如下内容:

>   options timeout:1 attempts:1 rotate
>   #options single-request-reopen
  nameserver 119.29.29.29
  nameserver 114.114.114.114
  nameserver 180.76.76.76
  nameserver 223.5.5.5

Tips:nameserver:dns服务器,分别采用了腾讯的、114的、百度的、阿里的dns服务器,总有一个是可行的。

步骤2:chattr + i /etc/resolv.conf

在有些Linux下,当网络重启后,/etc/resolv.conf会恢复到原来的状态。本命令是让文件编程只读。如果今后需要修改,用chattr -i /etc/resolv.conf

步骤3:vi /etc/sysconfig/network-scripts/ifcfg-eth0

删掉DNS1,DNS2参数,都用resolv.conf中的配置

步骤4:重新启动网络:service network restart

如果报错或者不生效,请找问题并重启网络

步骤5:可以用nslookup查看哪个DNS生效

三、参数说明

options 后面跟的是各种参数,每个参数意义如下:

timeout:设置等待dns服务器返回的超时时间,单位秒。默认值5。

attempts:向DNS服务器发起域名解析的请求次数。默认值2。采用多个dns服务器轮询

rotate:采用轮询方式访问nameserver

single-request-reopen:CentOS6/CentOS7总是需要等待AAAA(IPv6)的结果,即使关闭IPv6也没什么卵用。

CentOS 6/CentOS 7中的DNS解析器对于ipv4和ipv6都使用同一个socket接口,在同时发出ipv4和ipv6解析请求后,只会收到一个ipv4的解析响应,此时socket将一处于“等待”模式,等待ipv6的解析响应,故导致解析缓慢;添加single-request-reopen后就可以重新打开一个新的socket接收ipv6的解析响应,而不影响ipv4的解析响应。

四、补充说明

经验证关于 options single-request-reopen 配置在某些环境可以,但在某些环境下打开会导致错误如下:

java.net.UnknownHostException: www.xxxxx.com: 未知的名称或服务
  at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)

该种情况下,关闭该选项即可。

本文完结!


相关文章
|
9月前
|
安全 Java API
解决 Swagger API 未授权访问漏洞:完善分析与解决方案
Swagger 是一个用于设计、构建、文档化和使用 RESTful 风格的 Web 服务的开源软件框架。它通过提供一个交互式文档页面,让开发者可以更方便地查看和测试 API 接口。然而,在一些情况下,未经授权的访问可能会导致安全漏洞。本文将介绍如何解决 Swagger API 未授权访问漏洞问题。
|
1月前
|
负载均衡 Java API
Spring Cloud Gateway 详解:构建高效的API网关解决方案
Spring Cloud Gateway 详解:构建高效的API网关解决方案
30 0
|
2月前
|
人工智能 Serverless API
AI 绘画平台难开发,难变现?试试 Stable Diffusion API Serverless 版解决方案
AI 绘画平台难开发,难变现?试试 Stable Diffusion API Serverless 版解决方案
8964 132
|
2月前
|
Java API Android开发
[NDK/JNI系列04] JNI接口方法表、基础API与异常API
[NDK/JNI系列04] JNI接口方法表、基础API与异常API
28 0
|
9月前
|
Java API Spring
【异常】Feign 调用api模块直接进入fallback的问题解决办法
【异常】Feign 调用api模块直接进入fallback的问题解决办法
125 0
|
2月前
|
人工智能 Serverless API
AI 绘画平台难开发,难变现?试试 Stable Diffusion API Serverless 版解决方案
AI 绘画平台难开发,难变现?试试 Stable Diffusion API Serverless 版解决方案
|
10月前
|
数据库连接 API Python
RESTful API 如何处理异常
RESTful API 如何处理异常
|
2月前
|
人工智能 Serverless API
AI 绘画平台难开发,难变现?试试 Stable Diffusion API Serverless 版解决方案
为了帮助用户高效率、低成本应对企业级复杂场景,函数计算团队正式推出 Stable Diffusion API Serverless 版解决方案,通过使用该方案,用户可以充分利用 Stable Diffusion +Serverless 技术优势快速开发上线 AI 绘画应用,期待为广大开发者 AI 绘画创业及变现提供思路。
87496 4
|
2月前
|
开发框架 安全 JavaScript
解密IIS服务器API跨域问题的终极解决方案
解密IIS服务器API跨域问题的终极解决方案
180 0
|
7月前
|
API
item_search_coupon-优惠券查询API接口有哪些错误代码或异常可以处理?
item_search_coupon-优惠券查询API接口可能会返回一些错误代码或异常,以指示在请求或响应过程中出现的问题。以下是一些可能的错误代码或异常: