मैं HttpClient का उपयोग कर एक अजीब समस्या में चल रहा हूं। मैं HttpPost के साथ एक DefaultHttpClient() का उपयोग कर रहा हूँ। मैं 100% सफलता के साथ एचटीपीजीट का उपयोग कर रहा था लेकिन अब मैं आरईटीटी एपीआई के रूप में एचटीपीपोस्ट पर स्विच करने की कोशिश कर रहा हूं जिसका उपयोग मैं जीईटी के बजाय पोस्ट पैरामीटर चाहता हूं। (केवल कुछ एपीआई कॉल के लिए हालांकि मुझे पता है कि जीईटी कॉल ठीक काम कर रहे थे इसलिए यह एपीआई की गलती नहीं है)।एंड्रॉइड पर डिफ़ॉल्ट एचटीपी क्लाइंट के साथ HttpPost का उपयोग करते समय प्रमाणीकरण त्रुटि
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
postMethod = new HttpPost("http://www.examplewebsite.com");
nameValuePairs.add(new BasicNameValuePair("var", "lol"));
try {
postMethod.setEntity(new UrlEncodedFormEntity(nameValuePairs));
response = httpClient.execute(postMethod, responseHandler);
Log.i("RESTMethod", response);
...
समस्या है:
इसके अलावा, मैं एक साधारण PHP स्क्रिप्ट मैंने लिखा है कि एक पोस्ट पैरामीटर 'var' के लिए लग रहा है और यह गूँज स्क्रीन करने के लिए, इस पैरामीटर प्रदान करने के रूप में इस प्रकार ठीक काम किया पर HttpPost उपयोग करने की कोशिश कि जब मैं करने की कोशिश की और एपीआई को एक ही कॉल कर (लेकिन पैरामीटर वाला एपीआई पैरामीटर के लिए स्पष्ट रूप से परिवर्तित) मैं निम्नलिखित त्रुटि मिलती है:
Authentication error: Unable to respond to any of these challenges: {}
पेज मैं विनती करता हूँ एक HTTPS पेज है, यह हो सकता है समस्या?
लेकिन एपीआई पर कच्चे HTTP पृष्ठ पर उसी प्रकार का POST अनुरोध करने से वही त्रुटि मिलती है, जब तक कि मैं स्ट्रिंगइन्टिटी भाग को टिप्पणी नहीं करता और फिर यह चलता है (लेकिन xml देता है और मैं अनुरोध करने के लिए पैरामीटर पास करना चाहता हूं जेएसओएन में डेटा)।
यह वास्तव में एक अजीब समस्या (गैर-https भाग) जैसा प्रतीत होता है लेकिन वास्तव में इस समस्या पर कोई मदद नहीं मिल सका, इसलिए अगर जवाब वहां है तो क्षमा करें।
कोई विचार?
अग्रिम धन्यवाद,
Infinitifzz
संपादित करें: ठीक है मैं कहीं नहीं हो रही है इसलिए मैंने सोचा कि अगर मैं आप एपीआई यह कुछ प्रकाश डाला सकता है करने के लिए निर्देशित, यह 8Tracks API है और आप आप देख सकते हैं के रूप में सभी अनुरोधों के लिए एक देव कुंजी (api_key) और मैं भाग रहा पर साथ में एक उपयोगकर्ता लॉग इन करने https का उपयोग कर रहा है अटक कर रहा हूँ पारित करने के लिए की जरूरत है:। http://www.8tracks.com/sessions.xml "भाग
आशा इस किसी भी तरह मदद करता है, क्योंकि मैं एक मरे हुए अंत में कर रहा हूँ
धन्यवाद,
Infinitifizz
अपने URL https के साथ शुरू नहीं करना चाहिए तय एक शुरुआत के लिए। फिर, यदि यह https है, तो यह संभवतः एक प्रमाणपत्र या कुछ अन्य प्रमाणीकरण चुनौती से सुरक्षित होगा - जैसा कि त्रुटि संदेश में दर्शाया गया है। –
मैंने बस उस यूआरएल को एक उदाहरण के रूप में रखा है, लेकिन हाँ इसे चाहिए। लेकिन जैसा कि मैंने कहा था कि मैंने अपनी खुद की लिपि को एचटीपीपोस्ट करने की कोशिश की जो ठीक था और अगर मैंने एपीआई के एक गैर-https हिस्से को एचटीपीपोस्ट करने की कोशिश की, जैसे कि http पृष्ठ पर http ™ को नहीं कहा गया था, तो मुझे केवल त्रुटि मिली अगर मैंने नाम हटा दिया , अगर मुझे नहीं मिला तो मुझे प्रमाणीकरण त्रुटि नहीं मिली। –
क्या आप हमें अपना एचटीपी क्लाइंट कन्स्ट्रक्टर दिखा सकते हैं? – Ryan