使用Go 的HTTP 套件存取POST 請求中的查詢字串
當使用http 套件在Go 中處理HTTP POST 請求時,您可能會遇到需要存取和解析查詢字串參數。儘管沒有明確的文檔,但這可以透過 Request 物件的 Query() 方法來實現。
擷取查詢字串參數
擷取查詢字串的語法資訊如下所示:
func (r *Request) Query() Values
Query() 方法傳回一個Values對象,它本質上是一個類似地圖的結構,其中鍵是參數名稱,值是表示關聯參數值的字串陣列。
用法範例
考慮帶有以下查詢字串的 POST 請求 URL http://主機:連接埠/某事?param1=b。使用 Query() 方法,您可以檢索查詢字串參數,如下所示:
func newHandler(w http.ResponseWriter, r *http.Request) { fmt.Println("GET params were:", r.URL.Query()) // Get a single parameter param1 := r.URL.Query().Get("param1") if param1 != "" { // Process the parameter } // Get all occurrences of a parameter param1s := r.URL.Query()["param1"] if len(param1s) > 0 { // Process the parameters } }
請注意,Values 物件中的鍵(即參數名稱)區分大小寫。
以上是如何存取 Go 的 HTTP POST 請求中的查詢字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!