मुझे httpurlconnection(या httpsurlconnection) बनाने में समस्या है। असल में यह url.openconnection कास्टिंग करने के बाद कनेक्शन हेडर सेट करने के बारे में है। चलने से पहले एक ही कोड अब नहीं चल रहा है। मैं समझ नहीं पाया। (अपवाद: पहले से ही जुड़ा हुआ है... या पसंद है..)
कभी-कभी यह httpConn.getOutPutStream(); तक चलता है इस समय यह त्रुटि देता है "java.net.ProtocolException: OutputStream अनुपलब्ध है क्योंकि अनुरोध शीर्षलेख पहले ही भेजे जा चुके हैं!"
मेरी गलती कहाँ है ??
इससे पहले कि मैं कोड का उपयोग करता: सभी कोड यहां (मेरे पास इस कोड, भी)
URL url = new URL(getUrl());
URLConnection conn = url.openConnection();
HttpURLConnection httpConn=(HttpURLConnection)conn; /*or HttpsURLConnection*/
httpConn.set...
...
httpConn.connect();
...
मैं कास्टिंग के बाद कुछ सेटिंग्स सेट करने का प्रयास करता हूं, लेकिन परिणाम समान होता है। conn.set.. काम कर रहे हैं, लेकिन कास्ट करने के बाद मैं कुछ भी सेट नहीं कर सकता ...
परिवर्तित कोड:
URL url = new URL(getUrl());
conn = url.openConnection();
conn.setAllowUserInteraction(false);
conn.setConnectTimeout(10000);
conn.setRequestProperty("Accept-Charset", "utf-8");
conn.setRequestProperty("Content-Type",
"text/xml; charset=utf-8");
conn.setRequestProperty("SOAPAction",
"http://tempuri.org/IAuthenticationServiceNew/Authenticate");
conn.setRequestProperty("Software-Version", AppData.VERSION);
conn.setDoOutput(true);
httpConn = (HttpsURLConnection) conn;
httpConn.setChunkedStreamingMode(getParams().getBytes("UTF8").length);
httpConn.setInstanceFollowRedirects(true);
httpConn.connect();
os = httpConn.getOutputStream();
os.write(getParams().getBytes("UTF8"));
1 उत्तर
यह सही है!
"httpConn.setInstanceFollowRedirects(true)" हेडर को सर्वर से जोड़ता है और भेजता है। मैं इस कोड को बंद करता हूं।
URL url = new URL(getUrl());
httpConn = (HttpURLConnection) url.openConnection();
httpConn.setDoInput(true);
httpConn.setDoOutput(true);
httpConn.setAllowUserInteraction(false);
httpConn.setUseCaches(false);
httpConn.setConnectTimeout(10000);
httpConn.setRequestProperty("Accept-Charset", "utf-8");
httpConn.setRequestProperty("Content-Type",
"text/xml; charset=utf-8");
httpConn.setRequestProperty("SOAPAction",
"http://tempuri.org/IAuthenticationServiceNew/"
+ conTypeString);
httpConn.setRequestProperty("Software-Version", AppData.VERSION);
httpConn.setRequestMethod("POST");
httpConn.setChunkedStreamingMode(0);
os = httpConn.getOutputStream();
os.write(getParams().getBytes("UTF8"));
संबंधित सवाल
जुड़े हुए प्रश्न
नए सवाल
android
एंड्रॉइड Google का मोबाइल ऑपरेटिंग सिस्टम है, जिसका उपयोग प्रोग्रामिंग या डिजिटल डिवाइस (स्मार्टफोन, टैबलेट, ऑटोमोबाइल्स, टीवी, वियर, ग्लास, IoT) को विकसित करने के लिए किया जाता है। एंड्रॉइड से संबंधित विषयों के लिए, एंड्रॉइड-विशिष्ट टैग जैसे कि एंड्रॉइड-इरादे, एंड्रॉइड-गतिविधि, एंड्रॉइड-एडॉप्टर आदि का उपयोग करें। विकास या प्रोग्रामिंग के अलावा अन्य प्रश्नों के लिए, लेकिन एंड्रॉइड फ्रेमवर्क से संबंधित हैं, इस लिंक का उपयोग करें: https: // android.stackexchange.com।