获取 curl localhost:8080 时出现 DNS 错误。

huangapple go评论140阅读模式
英文:

Getting DNS error for curl localhost:8080

问题

我正在尝试在Go语言中创建一个HTTP服务器,当我运行代码时,输出结果是:

监听 localhost:8080

但是当我使用 curl localhost:8080 进行测试时,出现了DNS错误。

以下代码启动一个HTTP服务器,监听8080端口的传入请求。

  1. package main
  2. import (
  3. "fmt"
  4. "html"
  5. "log"
  6. "net/http"
  7. )
  8. func main() {
  9. http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
  10. fmt.Fprintf(w, "Hello, %q", html.EscapeString(r.URL.Path))
  11. })
  12. log.Println("监听 localhost:8080")
  13. log.Fatal(http.ListenAndServe(":8080", nil))
  14. }

这是我运行 curl localhost:8080 时得到的输出:

  1. $ curl localhost:8080
  2. <HTML><HEAD>
  3. <TITLE>网络错误</TITLE>
  4. </HEAD>
  5. <BODY>
  6. <FONT face="Helvetica">
  7. <big><strong></strong></big><BR>
  8. </FONT>
  9. <blockquote>
  10. <TABLE border=0 cellPadding=1 width="80%">
  11. <TR><TD>
  12. <FONT face="Helvetica">
  13. <big>网络错误 (dns_unresolved_hostname)</big>
  14. <BR>
  15. <BR>
  16. </FONT>
  17. </TD></TR>
  18. <TR><TD>
  19. <FONT face="Helvetica">
  20. 您请求的主机“localhost”无法通过DNS解析。
  21. </FONT>
  22. </TD></TR>
  23. <TR><TD>
  24. <FONT face="Helvetica">
  25. </FONT>
  26. </TD></TR>
  27. <TR><TD>
  28. <FONT face="Helvetica" SIZE=2>
  29. <BR>
  30. 如需帮助,请联系您的网络支持团队。
  31. </FONT>
  32. </TD></TR>
  33. </TABLE>
  34. </blockquote>
  35. </FONT>
  36. </BODY></HTML>

看起来是一个DNS问题,我正在尝试在虚拟机中设置HTTP服务器,如何解决这个错误?

英文:

I'm trying to create a http server in go, when I run the code, I'm getting the output as

Listening on localhost:8080

But when I use curl localhost:8080 to test it I'm getting DNS error

The below code starts an HTTP server, listens on port 8080 incoming requests.

  1. package main
  2. import (
  3. &quot;fmt&quot;
  4. &quot;html&quot;
  5. &quot;log&quot;
  6. &quot;net/http&quot;
  7. )
  8. func main() {
  9. http.HandleFunc(&quot;/&quot;, func(w http.ResponseWriter, r *http.Request) {
  10. fmt.Fprintf(w, &quot;Hello, %q&quot;, html.EscapeString(r.URL.Path))
  11. })
  12. log.Println(&quot;Listening on localhost:8080&quot;)
  13. log.Fatal(http.ListenAndServe(&quot;:8080&quot;, nil))
  14. }

This is the output I get when I run curl localhost:8080

  1. $ curl localhost:8080
  2. &lt;HTML&gt;&lt;HEAD&gt;
  3. &lt;TITLE&gt;Network Error&lt;/TITLE&gt;
  4. &lt;/HEAD&gt;
  5. &lt;BODY&gt;
  6. &lt;FONT face=&quot;Helvetica&quot;&gt;
  7. &lt;big&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/big&gt;&lt;BR&gt;
  8. &lt;/FONT&gt;
  9. &lt;blockquote&gt;
  10. &lt;TABLE border=0 cellPadding=1 width=&quot;80%&quot;&gt;
  11. &lt;TR&gt;&lt;TD&gt;
  12. &lt;FONT face=&quot;Helvetica&quot;&gt;
  13. &lt;big&gt;Network Error (dns_unresolved_hostname)&lt;/big&gt;
  14. &lt;BR&gt;
  15. &lt;BR&gt;
  16. &lt;/FONT&gt;
  17. &lt;/TD&gt;&lt;/TR&gt;
  18. &lt;TR&gt;&lt;TD&gt;
  19. &lt;FONT face=&quot;Helvetica&quot;&gt;
  20. Your requested host &quot;localhost&quot; could not be resolved by DNS.
  21. &lt;/FONT&gt;
  22. &lt;/TD&gt;&lt;/TR&gt;
  23. &lt;TR&gt;&lt;TD&gt;
  24. &lt;FONT face=&quot;Helvetica&quot;&gt;
  25. &lt;/FONT&gt;
  26. &lt;/TD&gt;&lt;/TR&gt;
  27. &lt;TR&gt;&lt;TD&gt;
  28. &lt;FONT face=&quot;Helvetica&quot; SIZE=2&gt;
  29. &lt;BR&gt;
  30. For assistance, contact your network support team.
  31. &lt;/FONT&gt;
  32. &lt;/TD&gt;&lt;/TR&gt;
  33. &lt;/TABLE&gt;
  34. &lt;/blockquote&gt;
  35. &lt;/FONT&gt;
  36. &lt;/BODY&gt;&lt;/HTML&gt;

Looks like its an DNS issue, I'm trying to setup the http server in a VM, how can I fix this error?

答案1

得分: 1

一个猜测是你的HTTP请求经过了代理。你可以取消设置HTTP_PROXY变量,然后再试一次。

否则,尝试使用127.0.0.1或你的机器的IP地址。:8080表示HTTP服务器绑定到所有IP地址。

英文:

One guess is your http request is going through a proxy. You can unset the HTTP_PROXY variable and try again.

Otherwise, try using 127.0.0.1 or the IP address for your machine. :8080 means the HTTP server is binding to all IPs.

huangapple
  • 本文由 发表于 2022年11月3日 04:12:49
  • 转载请务必保留本文链接:https://go.coder-hub.com/74295150.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定