Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Mengakses Rentetan Pertanyaan dalam Permintaan HTTP POST Go?

Bagaimanakah Saya Boleh Mengakses Rentetan Pertanyaan dalam Permintaan HTTP POST Go?

Susan Sarandon
Susan Sarandonasal
2024-12-13 15:32:14422semak imbas

How Can I Access Query Strings in Go's HTTP POST Requests?

Mengakses Rentetan Pertanyaan dalam Permintaan POST Menggunakan Pakej HTTP Go

Apabila bekerja dengan permintaan HTTP POST dalam Go menggunakan pakej http, anda mungkin menghadapi keperluan untuk mengakses dan menghuraikan parameter rentetan pertanyaan. Walaupun ketiadaan dokumentasi eksplisit, ini boleh dicapai melalui kaedah Query() bagi objek Request.

Mendapatkan kembali Parameter Rentetan Pertanyaan

Sintaks untuk mengekstrak rentetan pertanyaan maklumat kelihatan seperti ini:

func (r *Request) Query() Values

Kaedah Query() mengembalikan objek Values, yang pada asasnya ialah struktur seperti peta dengan kekuncinya ialah nama parameter dan nilainya ialah tatasusunan rentetan yang mewakili nilai parameter yang berkaitan.

Contoh Penggunaan

Pertimbangkan POST URL permintaan dengan rentetan pertanyaan seperti http://host:port/something?param1=b. Menggunakan kaedah Query(), anda boleh mendapatkan semula parameter rentetan pertanyaan seperti berikut:

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
  }
}

Perhatikan bahawa kekunci dalam objek Values ​​(iaitu, nama parameter) adalah sensitif huruf besar-kecil.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Rentetan Pertanyaan dalam Permintaan HTTP POST Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn