去服务器没有正确响应。

时间:2013-05-29 12:31:51

标签: go

我按照Go文档中的示例进行操作,并为Go服务器编译了此代码:

package main

import (
    "fmt"
    "net/http"
)

func handler(w http.ResponseWriter, r *http.Request) {
    fmt.Fprintf(w, "Hi there, I love %s!", r.URL.Path[1:])
}

func main() {
    http.HandleFunc("/", handler)
    http.ListenAndServe(":8080", nil)
}

但是当我访问时 localhost:8080它没有显示任何内容。

2 个答案:

答案 0 :(得分:3)

更改http.ListenAndServe(":8080", nil)

if err := http.ListenAndServe("localhost:8080", nil); err != nil {
    log.Fatal("ListenAndServe: ", err)
}

这将强制服务器仅侦听localhost接口,并且您不会遇到权限和防火墙规则问题。它还会记录您可能遇到的任何错误。

答案 1 :(得分:-1)

在linux中你需要获得运行程序的权限,因为它需要在8080端口上侦听。 我正在使用Ubuntu,我运行go build -o main,然后运行sudo ./main,当我访问localhost时:8080显示Hi there, I love !