【发布时间】:2015-06-02 16:25:15
【问题描述】:
由于某些原因,我尝试使用 mux 而不是来自 net/http 的标准 HandleFunc 来处理 HTTP 请求。使用 http 它曾经可以工作,而使用 mux 则不能。
import (
_ "github.com/go-sql-driver/mysql"
"github.com/gorilla/mux"
_ "io/ioutil"
"net/http"
)
func init() {
mx := mux.NewRouter()
//create a poll
mx.HandleFunc("/poll", pollCreate)
mx.HandleFunc("/poll/{id}", loadPoll)
mx.HandleFunc("/poll/vote", castVote)
http.ListenAndServe(":8080", mx)
}
以下 POST 请求
localhost:8080/poll
结果:
INFO 2015-06-02 16:23:12,219 module.py:718] default: "POST /poll HTTP/1.1" 404 19
【问题讨论】:
-
我无法使用简单的程序 (play.golang.org/p/9QQEkVED8i) 重现此问题。您是否有一个最小的、完整的、可验证的测试用例来证明问题?
-
module.py表明您已经有一个 python 程序正在监听该端口,而您的 Go 应用无法绑定到该端口