Android पर HTTP पोस्ट अनुरोध को कार्यान्वित कैसे करें
इंटरनेट का उपयोग करने वाले किसी भी एंड्रॉइड एप्लिकेशन के लिए HTTP पोस्ट अनुरोध आवश्यक हैं। आपको बस इतना करना है कि कार्यक्षमता को लागू करना है
इंटरनेट का उपयोग करने वाले किसी भी एंड्रॉइड एप्लिकेशन के लिए HTTP पोस्ट अनुरोध आवश्यक हैं। आपको बस इतना करना है कि कार्यक्षमता को लागू करना है
एचटीटीपी क्लाइंट क्लाइंट = नया DefaultHttpClient () -
एचटीटीपी पोस्ट पोस्ट = नया एचटीटीपी पोस्ट (पता) -
सूची जोड़े = नया ArrayList() -
pairs.add (नया BasicNameValuePair ("key1", "value1"))
pairs.add (नया BasicNameValuePair ("key2", "value2")) -
post.setEntity (नई UrlEncodedFormEntity (जोड़े)) -
एचटीपीआरस्पॉन्स प्रतिक्रिया = client.execute (पोस्ट) -
विधि 2: एक जेसन ऑब्जेक्ट का उपयोग करना कदम: NameValuePair का उपयोग करने के बजाय, आप बस एक json ऑब्जेक्ट बना सकते हैं और उसे भेजने पर स्ट्रिंग में कनवर्ट कर सकते हैं।
यदि आपको पोस्ट अनुरोध भेजने की आवश्यकता है जैसे मानों और चाबियों की एक जोड़ी के लिए यह सरल अनुरोध, तो उदाहरण देखें:{
"ईमेल": "[email protected]",
"पुराना_पासवा": 306,
"use_id": 123,
"new_passw": 456
}
1 एक जेसन ऑब्जेक्ट बनाएं और सर्वर के मान और कुंजी जोड़े को मैप करें।JSONObject jsonobj = नया JSONObject () -
jsonobj.put ("ईमेल", "[email protected]") -
jsonobj.put ("old_passw", "306") -
jsonobj.put ("use_id", "123") -
jsonobj.put ("new_passw", "456") -
2 एक http क्लाइंट और पोस्ट यूआरएल बनाएंDefaultHttpClient httpclient = नया DefaultHttpClient () -
HttpPost httppostreq = नया HttpPost ("your_server_url") -
3 एक स्ट्रिंग बनाएं स्ट्रिंग यूआरएल को HTTP POST द्वारा अनुरोधित स्वरूप में जोड़ दिया जाएगा।
स्ट्रिंगइन्टीटी यदि = नया स्ट्रिंग एंटेन्टिटी (jsonobj.toString ()) -
4 यह हिस्सा वैकल्पिक और उन्नत है और यदि आप एक वर्णसेट घोषित करना बहुत ज़रूरी नहीं हैं, तो आप उसे छोड़ सकते हैं।se.setContentType ("application / json-charset = UTF-8") -
se.setContentEncoding (नया बेसिक हेडर (HTTP.CONTENT_TYPE, "एप्लिकेशन / जेएसएन-वर्णसेट = यूटीएफ -8"))
5 पोस्ट अनुरोध में इकाई को कॉन्फ़िगर करेंhttppostreq.setEntity (से) -
6 पोस्ट अनुरोध निष्पादित करेंHttpResponse httpresponse = httpclient.execute (httppostreq) -
7 HTTP POST निष्पादित होने के बाद सर्वर से प्रतिक्रिया प्राप्त करने के लिए। ट्रेंच कैच ब्लॉक में टाइप करेंस्ट्रिंग प्रतिक्रिया पाठ = नल-
कोशिश {
प्रतिक्रिया पाठ = EntityUtils.toString (httpresponse.getEntity ()) -
} पकड़ (ParseException ई) {
e.printStackTrace () -
लॉग। I ("पार्स अपवाद", और + "") -
}
8 नई जेएसओएन ऑब्जेक्ट और उसके मूल्यों में प्रतिक्रिया स्ट्रिंग प्राप्त करें। हो गया! ` हो गया! ` JSONObject json = नया JSONObject (responseText) -
यदि आपको मुख्य संरचना के अंदर ऑब्जेक्ट के साथ एक पोस्ट अनुरोध की आवश्यकता है, तो ऐसा करें:{
"अनुरोध": {
"ईमेल": "[email protected]",
"पुराना_पासवा": 306,
"use_id": 123,
"new_passw": 456
}
}
इस तरह से पहला कदम बदलें 1 `एक आंतरिक जेएसएएन ऑब्जेक्ट बनाएं और इसमें भरें।`JSONObject हेडर = नया JSONObject () -
header.put ("ईमेल", "[email protected]") -
header.put ("old_passw", "306") -
header.put ("use_id", "123") -
header.put ("new_passw", "456") -
2 एक नया जेएसओएन ऑब्जेक्ट बनाएं ("अनुरोध" कुंजी के साथ बाहरी) और अंदर की जेएसओएन को "अनुरोध" कुंजी के मान के रूप में रखें
JSONObject jsonobj = नया JSONObject () -
jsonobj.put ("अनुरोध", शीर्षलेख) -