我正在嘗試在 goland 中獲取 http 狀態代碼。
我也在傳遞授權令牌。
這是我到目前為止所嘗試的:
func StatusCode(PAGE string, AUTH string) (r string){
resp, err := http.NewRequest("GET", PAGE, nil)
if err != nil {
log.Fatal(err)
}
resp.Header.Set("Authorization", AUTH)
fmt.Println("HTTP Response Status:", resp.StatusCode, http.StatusText(resp.StatusCode))
r := resp.StatusCode http.StatusText(resp.StatusCode)
}
基本上我想得到這個:
r = "200 OK"
or
r= "400 Bad request"
它從resp.StatusCode和http.StatusText(resp.StatusCode)抱怨之前的代碼
uj5u.com熱心網友回復:
有兩個問題。首先是應用程式使用請求作為回應。 執行請求以獲取回應。
第二個問題是resp.StatusCode http.StatusText(resp.StatusCode)由于運算元型別不匹配而無法編譯。值為. resp.StatusCode_ 的int值為。Go 沒有將數字隱式轉換為字串,這會使這項作業按您期望的方式作業。http.StatusText(resp.StatusCode)string
r := resp.Status如果您希望從服務器發送狀態字串,請使用。
用于r := fmt.Sprintf("%d %s", resp.StatusCode, http.StatusText(resp.StatusCode))從服務器的狀態碼和 Go 的狀態字串構造一個狀態字串。
這是代碼:
func StatusCode(PAGE string, AUTH string) (r string) {
// Setup the request.
req, err := http.NewRequest("GET", PAGE, nil)
if err != nil {
log.Fatal(err)
}
req.Header.Set("Authorization", AUTH)
// Execute the request.
resp, err := http.DefaultClient.Do(req)
if err != nil {
return err.Error()
}
// Close response body as required.
defer resp.Body.Close()
fmt.Println("HTTP Response Status:", resp.StatusCode, http.StatusText(resp.StatusCode))
return resp.Status
// or fmt.Sprintf("%d %s", resp.StatusCode, http.StatusText(resp.StatusCode))
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/490994.html
標籤:http 去 网址 http-status-code-404
