> 环境:Linux Ubuntu 18.04.4 LTS x86_64(Py3.7.8)

问题复现:

  • WEB API 远程请求外部接口 日志报错

代码报错

  • 请求代码
var client = new RestClient($"https://api.weixin.qq.com/sns/jscode2session?appid={_miniProgramOptions.AppID}&secret={_miniProgramOptions.AppSecret}&js_code={input.code}&grant_type=a{_miniProgramOptions.GrantTypeByOpenId}");
// client.Timeout = -1;
var request = new RestRequest
    {
       Method = Method.Get
    };
var response = client.Execute(request);
Log.Error(JsonConvert.SerializeObject(response));
// Console.WriteLine(response.Content);
var code2SessionResult = JsonConvert.DeserializeObject<Code2SessionResult>(response.Content);
  • 返回错误结果

结果错误

问题查找

Apifox直接访问接口(正常)

apifox

本地debug(正常)

localdebug

接口访问(异常)

interface1

interface2

登录服务器访问(异常)

curl --location --request GET 'https://www.baidu.com'

shellerror

无法解析主机,错误和请求外部接口一致,问题找到了

问题解决

原来是linux DNS 配置异常,无法将远程请求解析到正确地址

打开本机DNS配置 /etc/resolv.conf

将公共dns添加到配置文件内并保存(可填写其他公共dns)

nameserver 114.114.114.114
nameserver 8.8.8.8

dnsconf

dnsconf1

重新请求外部接口(不再报错)

reqhttp

最后修改:2023 年 02 月 21 日
如果觉得我的文章对你有用,请随意赞赏