java ब्लैकबेरी में एचटीपी पोस्ट




blackberry blackberry-simulator (2)

अस्सलाम वालेकुम,

मैं अपने ब्लैकबेरी एप्लिकेशन से एक सर्वर कनेक्शन सेटअप करने की कोशिश कर रहा हूँ मुझे सर्वर की स्थिति पर प्रतिक्रिया कोड प्राप्त करने में सक्षम था अब मेरे पास कुछ मान हैं जो मुझे सर्वर पर पोस्ट करना है I

इसकी एक पंजीकरण पृष्ठ मान (उपयोगकर्ता नाम, पासवर्ड, उम्र) को सर्वर पर भेजना होगा।

        ConnectionFactory connFact = new ConnectionFactory();
        ConnectionDescriptor connDesc;
        connDesc = connFact.getConnection(url);
        if (connDesc != null)
        {
            HttpConnection httpConn;
            httpConn = (HttpConnection)connDesc.getConnection();
            try
            {
                final int iResponseCode = httpConn.getResponseCode();
                UiApplication.getUiApplication().invokeLater(new Runnable()
                {
                    public void run()
                    {
                        Dialog.alert("Response code: " + Integer.toString(iResponseCode));
                    }
                });
            }
            catch (IOException e)
            {
                System.err.println("Caught IOException: " + e.getMessage());
            }
        }

कोड को मैं प्रतिक्रिया कोड प्राप्त करने के लिए इस्तेमाल किया था। मैं इसकी सराहना करता हूं अगर कोई मुझे मदद कर सकता है कि मैं सर्वर को POST अनुरोध कैसे कर सकता हूं .. स्थिति के लिए सर्वर यूआरएल company.com/app/version/stats था

जब यह रजिस्टर के लिए होगा, तो यह company.com/app/register होगा

धन्यवाद


 ...
httpConn = (HttpConnection)connDesc.getConnection();    
httpConn.setRequestMethod(HttpConnection.POST);
httpConn.setRequestProperty("username",name);
httpConn.setRequestProperty("password",pass);
....

आप किस प्रकार का POST उपयोग करते हैं? यदि आप केवल कुंजी-मान जोड़ते हैं, तो यह "एप्लिकेशन / एक्स-www-फ़ॉर्म-यूआरएलएक्सोड" सामग्री-प्रकार का एक पद होना चाहिए।

तो, क्या आपके कोड की कमी है:

1)। अपने कनेक्शन पर उचित सामग्री प्रकार सेट करें:

httpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");

2)। पोस्ट के माध्यम से सर्वर पर भेजे जाने वाली सामग्री तैयार करें:

URLEncodedPostData encPostData = new URLEncodedPostData("UTF-8", false);
encPostData.append("username", username);
encPostData.append("password", password);
encPostData.append("age", age);
byte[] postData = encPostData.toString().getBytes("UTF-8");

3)। कनेक्शन के लिए सामग्री की लंबाई निर्धारित करें (यह चरण वैकल्पिक हो सकता है - पहले बिना कोशिश करें, संभवतः बीबी ओएस यह स्वचालित रूप से सेट करने के लिए पर्याप्त स्मार्ट है):

httpConn.setRequestProperty("Content-Length", String.valueOf(postData.length));

4)। एक आउटपुटस्ट्रीम खोलें और उस पर सामग्री लिखें (कोड सरलीकृत है):

OutputStream os = httpConn.openOutputStream();
os.write(postData);
os.flush();




blackberry-jde