为Golang配置http:localhost

时间:2018-12-13 06:57:14

标签: http go iis localhost

我想在Golang中实现一些教程,其中涵盖了net / http库以及其他Web和路由库。此外,我使用本地主机通过IIS测试asp.net核心。我已经在我的机器上停止了IIS客户端,它仍然将我重定向到IIS主题的localhost,而不显示我的golang Fprintf消息。localhost上的页面,当前的iis设置和golang代码可以在下面看到。任何帮助,将不胜感激。

http:localhost
上的页面 my localhost on the browser

我的IIS情况摘要(已手动停止) my iis situation

package main

import "fmt"
import "net/http"

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        numOfBytesWritten, err := fmt.Fprintf(w, "Hello, World!")
        if err != nil {
            fmt.Fprintln(w, "Error occured!")
        }

        fmt.Fprintln(w, numOfBytesWritten, " bytes written.")
        http.ListenAndServe(":80", nil)
    })
}

我在ISS上的网站。 enter image description here

2 个答案:

答案 0 :(得分:-1)

我的错误很愚蠢:)

http.ListenAndServe(":80", nil)

行不应位于http.HandleFunc()内。所以我的最终代码在下面,并且可以按预期工作。

package main

import (
    "fmt"
    "net/http"
)

func main() {
    http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
        n, err := fmt.Fprintf(w, "Hello World!\n")
        if err == nil {
            fmt.Fprintf(w, "%d bytes written\n", n)
        } else {
            fmt.Fprintf(w, "Error occured.")
        }
    })
    http.ListenAndServe(":80", nil)
}

答案 1 :(得分:-4)

确保默认网站未运行,好像您停止了其他操作。

请参阅附件图像。 https://i.stack.imgur.com/OMhjP.png