2009-12-04 6 views
7

मैं एक HTTPS कनेक्शन बनाने और प्राप्त के रूप में अनुरोध संपत्ति की स्थापना कर रहा हूँ:हम जीईटी विधि के माध्यम से डेटा कैसे भेज सकते हैं?

_httpsConnection = (HttpsConnection) Connector.open(URL, Connector.READ_WRITE); 
_httpsConnection.setRequestMethod(HttpsConnection.GET); 

लेकिन मैं GET पैरामीटर कैसे भेजूं? मैं इस तरह के अनुरोध गुण सेट करें:

_httpsConnection.setRequestProperty("method", "session.getToken"); 
_httpsConnection.setRequestProperty("developerKey", "value"); 
_httpsConnection.setRequestProperty("clientID", "value"); 

या मैं कनेक्शन के उत्पादन स्ट्रीम में लिखें क्या ज़रूरत है?

या क्या मुझे पैरामीटर/मानों को यूआरएल में जोड़कर भेजने की आवश्यकता है?

+2

यह क्या भाषा है:

एक ब्लैकबेरी पर यह करने के लिए सबसे अच्छा तरीका है ठीक से अपने URL पैरामीटर एन्कोड करने के लिए URLEncodedPostData वर्ग का उपयोग करने के लिए है? – monksy

+0

मैं ब्लैकबेरी डेवलपर नहीं हूं। लेकिन आप नेटवर्क स्निफर (आईएमओ ओवरकिल) या सरल सर्वर साइड स्क्रिप्ट का उपयोग करके अपने कोड का आसानी से परीक्षण कर सकते हैं जो आपके अनुरोध की जानकारी आउटपुट करेगा। उदाहरण के लिए php में आप इसका उपयोग कर सकते हैं: http://www.php.net/manual/en/reserved.variables.request.php –

उत्तर

8

कॉलिंग Connection.setRequestProperty() अनुरोध हेडर, जो संभव है कि आप इस मामले में क्या करना चाहते हैं (यदि आप मुझसे पूछें कि मैं इसे बुला setRequestHeader एक बेहतर विकल्प हो गया होता नहीं लगता है स्थापित करेगा)। कुछ प्रॉक्सी गैर मानक हेडर के नाम को बंद या फिर से लिख सकते हैं, इसलिए आप यूआरएल पैरामीटर के माध्यम से जीईटी यूआरएल में गुजरने वाले डेटा के सम्मेलन में चिपकने से बेहतर हैं।

URLEncodedPostData data = new URLEncodedPostData("UTF-8", false); 
data.append("method", "session.getToken"); 
data.append("developerKey", "value"); 
data.append("clientID", "value"); 
url = url + "?" + data.toString(); 
2

हाँ, शीर्षलेख और गुण बहुत अधिक हैं जो आप एक जीईटी में भेज सकते हैं। साथ ही, आप कुछ निश्चित वर्णों तक ही सीमित हैं, जो कि ब्राउज़र निर्भर है - मुझे लगता है कि आमतौर पर 1024 या 2000 के बारे में याद है।

+0

अरे मुझे हेडर के माध्यम से पैरामीटर/मान भेजने की आवश्यकता है या इसे यूआरएल में संलग्न करें – Bohemian

+0

आप इसे यूआरएल –

+0

पर जोड़ सकते हैं कोई विचार नहीं कि आपका पर्यावरण कैसे काम करता है, लेकिन अंत में आपके अनुरोध पैरामीटर यूआरएल में शामिल किए जाएंगे। आप या तो इसे सीधे कर सकते हैं (कुंजी और मूल्य जोड़ों को अलग करने के लिए, = कुंजी और मूल्य के बीच, स्ट्रिंग में यूआरएल-एस्केप कैरेक्टर) या उम्मीद है कि आपके एपीआई को आपके लिए यह सामान स्वचालित रूप से करने दें। –

5

HTTP GET URL में इनकोडिंग कुंजी/मान जोड़े के रूप में भेजने डेटा पैरामीटर, जैसे:

GET /example.html      // without parameters 
GET /example.html?Id=   1  // with one basic parameter 
GET /example.html?Id=1&Name=John%20Doo // with two parameters, second encoded 

नोट पालन नियमों चरित्र विभाजक के लिए:

? - split URL in two pieces: adddress to left and paremeters to right 
& - must be used to separate on parameter from another 

आप अपने मंच विशिष्ट देशी स्ट्रिंग एनकोड पता होना चाहिए समारोह। जावास्क्रिप्ट escape का उपयोग करता है, सी # का उपयोग करता HttpUtility.UrlEncode

संबंधित मुद्दे

 संबंधित मुद्दे