curl:(6)无法解析主机:google.com;名称或服务未知

2024-10-17 08:46:00
admin
原创
75
摘要:问题描述:当我尝试将网页加载到终端时出现curl: (6) Could not resolve host错误。我的电脑上有互联网,并且尝试使用家庭互联网连接。因此,这里不需要任何代理。[root@localhost kevin]# curl http://google.com curl: (6) Could ...

问题描述:

当我尝试将网页加载到终端时出现curl: (6) Could not resolve host错误。

我的电脑上有互联网,并且尝试使用家庭互联网连接。因此,这里不需要任何代理。

[root@localhost kevin]# curl http://google.com
curl: (6) Could not resolve host: google.com; Name or service not known

clean all并再次尝试,但仍然没有成功。

但如果我使用 IP 而不是域名,它就可以正常工作。

[root@localhost kevin]# curl http://173.194.46.0

请问有什么线索吗?


解决方案 1:

问题如下:

  1. 已启用 IPV6

  2. 错误的 DNS 服务器

以下是我修复它的方法:

IPV6 禁用

  • 打开终端

  • 键入su并输入以超级用户身份登录

  • 输入 root 密码

  • 键入cd /etc/modprobe.d/以将目录更改为/etc/modprobe.d/

  • 键入vi disableipv6.conf以创建新文件

  • 按下Esc + i将数据插入文件

  • 键入install ipv6 /bin/true文件以避免加载 IPV6 相关模块

  • 键入Esc + :然后wq保存并退出

  • 键入reboot重新启动 fedora

  • 重启后打开终端并输入lsmod | grep ipv6

  • 如果没有结果,则表示您已正确禁用 IPV6

添加 Google DNS 服务器

  • 打开终端

  • 键入su并输入以超级用户身份登录

  • 输入 root 密码

  • 输入cat /etc/resolv.conf以检查 Fedora 使用的 DNS 服务器。这通常是您的调制解调器 IP 地址。

  • 现在我们必须找到一个强大的DNS服务器。幸运的是,有一个由Google维护的开放DNS服务器。

  • 转到此页面并查找什么是“Google 公共 DNS IP 地址”

  • 今天这些是8.8.8.88.8.4.4。但将来这些可能会改变。

  • 键入vi /etc/resolv.conf以编辑resolv.conf文件

  • 按下Esc + i将数据插入文件

  • 通过在每行开头插入 # 来注释文件中的所有内容。不要删除任何内容,因为将来可能会有用。

  • 在文件中输入以下两行

名称服务器 8.8.8.8

名称服务器 8.8.4.4

-输入Esc + :然后wq保存并退出

  • 现在您已完成并且一切运行正常(无需重新启动)。

  • 但是每次重启电脑时,你的 /etc/resolv.conf 都会被默认替换。所以我让你想办法避免这种情况。

这是我关于此问题的博客文章:
http://codeketchup.blogspot.sg/2014/07/how-to-fix-curl-6-could-not-resolve.html

解决方案 2:

无需像答案所建议的那样禁用 IPv6。curl 失败的原因只是因为缺少 DNS 解析。

对此有一个简单的解决方案。

如果你关心里面的内容,/etc/resolv.conf那么请将其附加:

echo 'nameserver 1.1.1.1' | sudo tee -a /etc/resolv.conf >/dev/null

我通常不关心,只是替换文件的内容:

echo 'nameserver 1.1.1.1' | sudo tee /etc/resolv.conf >/dev/null

解决方案 3:

也许您已经制定了一些非常奇怪且限制性的 SELinux 规则?

如果没有,请strace -o /tmp/wtf -fF curl -v google.com尝试从输出文件中找出/tmp/wtf发生了什么。

解决方案 4:

我今天也遇到了类似的问题。但更奇怪。

  • 主持人 - 作品host pl.archive.ubuntu.com

  • dig - 适用于默认 DNS 和所有其他 DNS dig pl.archive.ubuntu.comdig @127.0.1.1 pl.archive.ubuntu.com

  • curl - 不起作用!但对于某些地址,它起作用。很奇怪!Ruby、APT 和许多其他程序也一样。

$ curl -v http://google.com/
*   Trying 172.217.18.78...
* Connected to google.com (172.217.18.78) port 80 (#0)
> GET / HTTP/1.1
> Host: google.com
> User-Agent: curl/7.47.0
> Accept: */*
>
< HTTP/1.1 302 Found
< Cache-Control: private
< Content-Type: text/html; charset=UTF-8
< Referrer-Policy: no-referrer
< Location: http://www.google.pl/?gfe_rd=cr&ei=pt9UWfqXL4uBX_W5n8gB
< Content-Length: 256
< Date: Thu, 29 Jun 2017 11:08:22 GMT
<
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.pl/?gfe_rd=cr&ei=pt9UWfqXL4uBX_W5n8gB">here</A>.
</BODY></HTML>
* Connection #0 to host google.com left intact

$ curl -v http://pl.archive.ubuntu.com/
* Could not resolve host: pl.archive.ubuntu.com
* Closing connection 0
curl: (6) Could not resolve host: pl.archive.ubuntu.com

启示

最终我使用了stracecurl 并发现它是与nscd守护进程的连接。

connect(4, {sa_family=AF_LOCAL, sun_path="/var/run/nscd/socket"}, 110) = 0

解决方案

我已经重新启动了 nscd 服务(名称服务缓存守护进程),它有助于解决这个问题!

systemctl restart nscd.service

解决方案 5:

尝试 nslookup google.com 来确定是否存在 DNS 问题。192.168.1.254 是您的本地网络地址,看起来您的系统正在将其用作 DNS 服务器。这也是您的网关/调制解调器路由器吗?当您尝试 ping google.com 时会发生什么。您可以在 Internet Web 浏览器上浏览它吗?

解决方案 6:

可能是防火墙问题。

尝试:

ufw allow out 53
reboot

解决方案 7:

在我们的例子中,命令是通过邮件/Skype传递的,需要执行的人复制了一个额外的空格

一个小时后我们发现了多余的空间,删除它就可以了。

解决方案 8:

我遇到了 IPV6 问题,它突然出现在 wordpress 管理员中,导致 curl 无法连接到 wordpress.org 等,

发生意外错误。WordPress.org 可能存在问题

并且

安装失败:下载失败。cURL 错误 28:10005 毫秒后解析超时

我最终通过在 mu-plugins 中添加以下内容作为 php 文件来进行排序:

add_action( 'http_api_curl', function( $curl_handle ) { curl_setopt( $curl_handle, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 );});

并且在 php 中直接使用 curl 时也可以通过在选项数组中使用以下选项:

curl_setopt_array($curl, array(CURLOPT_IPRESOLVE => CURL_IPRESOLVE_V4));

操作系统是 IBM i (OS400/i5OS) v7.2,运行在 Power 6 上,php 版本是 8.1.10。有趣的是,IPV6 在机器上没有激活。

解决方案 9:

我在 MacOS 上的情况很简单:我关闭了正在使用的 iTerm 窗口并打开了一个新的窗口。

由于我在摆弄 DNS 时遇到了与 OP 相同的错误,因此这很可能是 CURL 缓存 DNS 响应的问题。

解决方案 10:

就我而言,问题出在静态路由表中。如果之前添加了静态路由,则必须删除

相关推荐
  为什么项目管理通常仍然耗时且低效?您是否还在反复更新电子表格、淹没在便利贴中并参加每周更新会议?这确实是耗费时间和精力。借助软件工具的帮助,您可以一目了然地全面了解您的项目。如今,国内外有足够多优秀的项目管理软件可以帮助您掌控每个项目。什么是项目管理软件?项目管理软件是广泛行业用于项目规划、资源分配和调度的软件。它使项...
项目管理软件   601  
  华为IPD与传统研发模式的8大差异在快速变化的商业环境中,产品研发模式的选择直接决定了企业的市场响应速度和竞争力。华为作为全球领先的通信技术解决方案供应商,其成功在很大程度上得益于对产品研发模式的持续创新。华为引入并深度定制的集成产品开发(IPD)体系,相较于传统的研发模式,展现出了显著的差异和优势。本文将详细探讨华为...
IPD流程是谁发明的   7  
  如何通过IPD流程缩短产品上市时间?在快速变化的市场环境中,产品上市时间成为企业竞争力的关键因素之一。集成产品开发(IPD, Integrated Product Development)作为一种先进的产品研发管理方法,通过其结构化的流程设计和跨部门协作机制,显著缩短了产品上市时间,提高了市场响应速度。本文将深入探讨如...
华为IPD流程   9  
  在项目管理领域,IPD(Integrated Product Development,集成产品开发)流程图是连接创意、设计与市场成功的桥梁。它不仅是一个视觉工具,更是一种战略思维方式的体现,帮助团队高效协同,确保产品按时、按质、按量推向市场。尽管IPD流程图可能初看之下显得错综复杂,但只需掌握几个关键点,你便能轻松驾驭...
IPD开发流程管理   8  
  在项目管理领域,集成产品开发(IPD)流程被视为提升产品上市速度、增强团队协作与创新能力的重要工具。然而,尽管IPD流程拥有诸多优势,其实施过程中仍可能遭遇多种挑战,导致项目失败。本文旨在深入探讨八个常见的IPD流程失败原因,并提出相应的解决方法,以帮助项目管理者规避风险,确保项目成功。缺乏明确的项目目标与战略对齐IP...
IPD流程图   8  
热门文章
项目管理软件有哪些?
云禅道AD
禅道项目管理软件

云端的项目管理软件

尊享禅道项目软件收费版功能

无需维护,随时随地协同办公

内置subversion和git源码管理

每天备份,随时转为私有部署

免费试用