यूआरएल-एनकोडेड पेलोड के साथ पोस्ट अनुरोध
यूआरएल-एनकोडेड डेटा के साथ पोस्ट अनुरोध बनाते समय, 400 बीएडी का सामना करना आम है अनुरोध प्रतिक्रिया, यह दर्शाता है कि सर्वर पेलोड को समझ नहीं सकता है। यह समस्या आम तौर पर तब उत्पन्न होती है जब पेलोड गलत तरीके से प्रदान किया जाता है। यूआरएल-एन्कोडेड पेलोड के मामले में, इसका मतलब है कि यह एन्कोडेड कुंजी-मूल्य जोड़े की एक स्ट्रिंग होनी चाहिए।
उदाहरण कोड:यूआरएल-एनकोडेड को सही ढंग से भेजने के लिए http.NewRequest(...) का उपयोग करके POST अनुरोध के रूप में डेटा, निम्नलिखित उदाहरण पर विचार करें:
पैकेज मुख्य आयात ( "एफएमटी" "io/ioutil" "नेट/http" "नेट/यूआरएल" "तार" ) func मुख्य() { apiUrl := "https://api.com" संसाधन := "/उपयोगकर्ता/" डेटा := url.मान{} डेटा.सेट('नाम', 'फू') डेटा.जोड़ें("उपनाम", "बार") यू, _ := url.ParseRequestURI(apiUrl संसाधन) क्लाइंट := &http.क्लाइंट{} आर, _ := http.NewRequest(http.MethodPost, u.String(), strings.NewReader(data.Encode())) r.Header.Add("प्राधिकरण", "auth_token=\"XXXXXX\"") r.Header.Add("सामग्री-प्रकार", "एप्लिकेशन/x-www-form-urlencoded") सम्मान, _ := client.Do(r) fmt.Println(resp.Status) बॉडीबाइट्स, _ := ioutil.ReadAll(resp.Body) fmt.Println(स्ट्रिंग(बॉडीबाइट्स)) }
package main import ( "fmt" "io/ioutil" "net/http" "net/url" "strings" ) func main() { apiUrl := "https://api.com" resource := "/user/" data := url.Values{} data.Set("name", "foo") data.Add("surname", "bar") u, _ := url.ParseRequestURI(apiUrl resource) client := &http.Client{} r, _ := http.NewRequest(http.MethodPost, u.String(), strings.NewReader(data.Encode())) r.Header.Add("Authorization", "auth_token=\"XXXXXXX\"") r.Header.Add("Content-Type", "application/x-www-form-urlencoded") resp, _ := client.Do(r) fmt.Println(resp.Status) bodyBytes, _ := ioutil.ReadAll(resp.Body) fmt.Println(string(bodyBytes)) }
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3