【问题标题】:<urlopen error [Errno -3] Temporary failure in name resolution><urlopen 错误 [Errno -3] 名称解析暂时失败>
【发布时间】:2019-08-05 07:16:46
【问题描述】:

这里的问题是,每当我尝试使用urllib 执行urlopen 请求时,都会弹出此问题。我不知道是什么原因造成的,也许是外部来源禁止我发送urllib 请求?也许,因为当我尝试在我的笔记本电脑上执行同一行代码时,它运行得很好。 请记住,我的笔记本电脑与代码出错的服务器不在同一个网络中。

我已尝试在我拥有的所有其他服务器上执行此操作,urllib 运行良好。问题是,当我在服务器上运行代码时,这个错误才突然出现。没有更改任何代码,它只是决定显示该错误。

import urllib.request
urllib.request.urlopen("http://example.com/").read()

我希望 urlopen 请求返回可读的 html 数据,但它却返回了这个错误:

urllib.error.URLError: urlopen 错误 [Errno -3] 临时 名称解析失败

【问题讨论】:

  • 很可能是您看到错误的系统上的 DNS 设置的结果。也许它不再解析外部域。系统是否完全连接到公共互联网?是否有过滤 DNS 查找的防火墙?

标签: python urllib


【解决方案1】:

问题解决了。这里的问题是 /etc/resolv.conf 文件不存在,解决方案是创建它并将“nameserver 8.8.8.8”添加到文件中。之后重启服务器,一切恢复正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-04
    • 1970-01-01
    • 2017-11-29
    • 2019-06-21
    • 2013-12-13
    • 2020-07-08
    • 2012-04-18
    • 1970-01-01
    相关资源
    最近更新 更多