卷曲 http 服务器没问题,但浏览器不起作用
curling http-server is ok but with the browser doesn't work
我刚开始接触 Golang 中的网络应用程序。
这是作为起点的简单代码:
package main
import (
"fmt"
"log"
"net/http"
)
const (
CONN_HOST = "localhost"
CONN_PORT = "8080"
)
func helloWorld(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello World!")
}
func main() {
http.HandleFunc("/", helloWorld)
err := http.ListenAndServe(CONN_HOST+":"+CONN_PORT, nil)
if err != nil {
log.Fatal("error starting http server : ", err)
return
}
}
正在执行:
go run http-server.go
curl http://localhost:8080/
Hello World!
但是在网络浏览器中打开时的 ip 地址:
http://111.111.1.1:8080/
connection didn't succeed
如果我替换这段代码:
err := http.ListenAndServe(CONN_HOST+":"+CONN_PORT, nil)
if err != nil {
log.Fatal("error starting http server : ", err)
return
}
与 :
log.Fatal(http.ListenAndServe(":8080", nil))
所以 main() 函数仅由这两行组成:
func main() {
http.HandleFunc("/", helloWorld)
}
curl http://localhost:8080/
Hello World!
在网络浏览器中:
http://111.111.1.1:8080/
Hello World!
那么....如何使原始的简单 http-server.go 在 web 浏览器中工作,而不仅仅是使用命令行 curl?
期待您的帮助。
马可
你的服务器监听的ip是localhost
,所以只处理了localhost
.
的请求
你可以试试curl http://111.111.1.1:8080/
,你也会失败
如果你想从局域网或任何其他IP访问你的服务器,你应该设置CONN_HOST = "111.111.1.1"。
我刚开始接触 Golang 中的网络应用程序。
这是作为起点的简单代码:
package main
import (
"fmt"
"log"
"net/http"
)
const (
CONN_HOST = "localhost"
CONN_PORT = "8080"
)
func helloWorld(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello World!")
}
func main() {
http.HandleFunc("/", helloWorld)
err := http.ListenAndServe(CONN_HOST+":"+CONN_PORT, nil)
if err != nil {
log.Fatal("error starting http server : ", err)
return
}
}
正在执行:
go run http-server.go
curl http://localhost:8080/
Hello World!
但是在网络浏览器中打开时的 ip 地址:
http://111.111.1.1:8080/
connection didn't succeed
如果我替换这段代码:
err := http.ListenAndServe(CONN_HOST+":"+CONN_PORT, nil)
if err != nil {
log.Fatal("error starting http server : ", err)
return
}
与 :
log.Fatal(http.ListenAndServe(":8080", nil))
所以 main() 函数仅由这两行组成:
func main() {
http.HandleFunc("/", helloWorld)
}
curl http://localhost:8080/
Hello World!
在网络浏览器中:
http://111.111.1.1:8080/
Hello World!
那么....如何使原始的简单 http-server.go 在 web 浏览器中工作,而不仅仅是使用命令行 curl? 期待您的帮助。 马可
你的服务器监听的ip是localhost
,所以只处理了localhost
.
你可以试试curl http://111.111.1.1:8080/
,你也会失败
如果你想从局域网或任何其他IP访问你的服务器,你应该设置CONN_HOST = "111.111.1.1"。