簡體   English   中英

Golang中的HTTP服務器與客戶端請求

[英]HTTP server vs client request in golang

文檔說,例如,在主體為空的情況下,服務器請求和客戶端http請求之間是有區別的。 如何創建服務器請求以模擬傳入的HTTP請求以進行測試?

編輯:我特別想創建在單元測試期間使用的http服務器請求。

對不起,答復延遲。 昨晚被跟蹤了一下。 這是一個使用非nil主體制作請求對象的快速示例。 需要注意的一件事是,我認為我不會打擾問,HTTP GET沒有主體,因此您可能總是會為該HTTP方法獲得nil值。 對此並不樂觀,但如果是這樣的話,也不會令我感到驚訝。

package main

import "fmt"
import "net/http"
import "strings"

func main() {
        reader := strings.NewReader("")
        req, _ := http.NewRequest("POST", "http://example.com", reader)
    fmt.Printf("Body != nil ? %v, value: %s END\n", req.Body != nil, req.Body)
}

https://play.golang.org/p/5Fb6b2qgSo

我不知道您是否還在這里尋找答案,但是Go實際上有一個用於測試HTTP服務器的軟件包。

https://golang.org/pkg/net/http/httptest/

它非常適合測試。 您可以通過此處創建請求和服務器進行測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM