"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > यूआरएल-एन्कोडेड पोस्ट अनुरोध भेजते समय मुझे 400 खराब अनुरोध क्यों मिल रहे हैं?

यूआरएल-एन्कोडेड पोस्ट अनुरोध भेजते समय मुझे 400 खराब अनुरोध क्यों मिल रहे हैं?

2024-12-22 को प्रकाशित
ब्राउज़ करें:974

Why am I getting a 400 BAD REQUEST when sending URL-encoded POST requests?

यूआरएल-एनकोडेड पेलोड के साथ पोस्ट अनुरोध

यूआरएल-एनकोडेड डेटा के साथ पोस्ट अनुरोध बनाते समय, 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