सामग्री

    सर्वर प्रतिक्रिया 415 Unsupported Media Type

    HTTP स्थिति कोड 415 (असामर्थ्य मीडिया प्रकार)

    HTTP स्थिति कोड 415 तब उत्पन्न होता है जब सर्वर किसी अनुरोध को अस्वीकार करता है क्योंकि वह मीडिया प्रकार का समर्थन नहीं करता है। यह तब होता है जब क्लाइंट ऐसे डेटा प्रारूप में जानकारी भेजने का प्रयास करता है जिसे सर्वर संसाधित नहीं कर सकता। यह लेख इस स्थिति को समझने और इससे निपटने के तरीकों पर ध्यान केंद्रित करेगा।

    415 - Unsupported Media Type

    स्थिति कोड 415 के उत्पन्न होने के कारण

    • गलत Content-Type हेडर: विभिन्न API विभिन्न डेटा प्रारूपों का समर्थन करते हैं। यदि भेजा गया Content-Type हेडर अपेक्षित प्रारूप से मेल नहीं खाता है, तो सर्वर 415 लौटाएगा।
    • प्रारूप का समर्थन नहीं होना: सर्वर उस डेटा प्रारूप का समर्थन नहीं कर सकता जो भेजा गया है। उदाहरण के लिए, यदि API JSON की अपेक्षा करता है और क्लाइंट XML भेजता है।
    • डेटा कोडिंग में त्रुटियाँ: डेटा की गलत कोडिंग या अनुरोध की गलत संरचना भी 415 त्रुटि का कारण बन सकती है।

    व्यावहारिक उदाहरण

    1. JSON प्रारूप: उदाहरण के लिए, क्लाइंट JSON भेजता है, लेकिन Content-Type हेडर को text/plain पर सेट करता है। ऐसे में सर्वर इस अनुरोध को संसाधित नहीं कर पाएगा और 415 लौटाएगा।
    2. XML प्रारूप: यदि क्लाइंट XML प्रारूप में डेटा भेजने का प्रयास करता है जबकि सर्वर JSON डेटा की अपेक्षा कर रहा है, तो भी कोड 415 प्राप्त होगा।
    3. अस्वीकृत फ़ाइलें: यदि API JPEG प्रारूप में चित्र की अपेक्षा करता है, लेकिन क्लाइंट गलत हेडर के साथ PNG फ़ाइल भेजता है, तो सर्वर 415 लौटाएगा।

    भाषा के अनुसार त्रुटि 415 को ठीक करना

    भाषा कोड उदाहरण
    JavaScript (Node.js)
    const axios = require('axios');
    
    axios.post('https://example.com/api', data, {
        headers: {
            'Content-Type': 'application/json'
        }
    })
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        if (error.response && error.response.status === 415) {
            console.error('Unsupported Media Type: Content-Type हेडर की जांच करें');
        }
    });
    Python (Requests)
    import requests
    
    headers = {
        'Content-Type': 'application/json'
    }
    response = requests.post('https://example.com/api', json=data, headers=headers)
    
    if response.status_code == 415:
        print('Unsupported Media Type: Content-Type हेडर की जांच करें')
    Java (HttpURLConnection)
    import java.io.OutputStream;
    import java.net.HttpURLConnection;
    import java.net.URL;
    
    public class HttpClient {
        public static void main(String[] args) {
            try {
                URL url = new URL("https://example.com/api");
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                connection.setRequestMethod("POST");
                connection.setRequestProperty("Content-Type", "application/json");
                connection.setDoOutput(true);
    
                OutputStream os = connection.getOutputStream();
                os.write(data.getBytes());
                os.flush();
                os.close();
    
                if (connection.getResponseCode() == 415) {
                    System.out.println("Unsupported Media Type: Content-Type हेडर की जांच करें");
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }