如何设定 HTTP状态码(例如500或403) ?
我可以看到,请求通常有一个状态代码200附加到他们。
使用 http.ResponseWriter.WriteHeader.From 文档:
http.ResponseWriter.WriteHeader
WriteHeader 发送包含状态代码的 HTTP 响应头。如果未显式调用 WriteHeader,则对 Write 的第一个调用将触发一个隐式 WriteHeader (http。状态 OK)。因此,对 WriteHeader 的显式调用主要用于发送错误代码。
例如:
func ServeHTTP(w http.ResponseWriter, r *http.Request) { w.WriteHeader(http.StatusInternalServerError) w.Write([]byte("500 - Something bad happened!")) }
w.WriteHeader(http.StatusInternalServerError) w.WriteHeader(http.StatusForbidden)
完整列表 给你
除了 WriteHeader(int)之外,您还可以使用 helper 方法 http.Error,例如:
WriteHeader(int)
func yourFuncHandler(w http.ResponseWriter, r *http.Request) { http.Error(w, "my own error message", http.StatusForbidden) // or using the default message error http.Error(w, http.StatusText(http.StatusNotFound), http.StatusNotFound) }
Http. Error ()和 http.StatusText()方法是您的朋友