मैंने java.net.HttpURLConnection
बनाया है और यह connection.connect()
लाइन पर लटका है, भले ही मैंने कनेक्ट टाइमआउट सेट किया हो। "बी 4 कनेक्ट" लॉग हो जाता है और "कनेक्ट होने के बाद" कभी लॉग नहीं होता है। मैंने एपीआई 21 और ऊपर परीक्षण किया है और चीजें काम करती हैं, लेकिन मुझे यह समस्या एपीआई 16-19 पर मेरे परीक्षण के साथ मिलती है। नीचे मेरा कोड है। अनुरोध https का उपयोग कर रहा है और बैकएंड मानक nginx https कॉन्फ़िगरेशन का उपयोग करता है।एचटीटीपीएस अनुरोध केवल 20 से नीचे एंड्रॉइड एपीआई पर लटकता है, कनेक्ट कनेक्टआउट सेट
URL url = new URL(urlString);
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
try {
connection.setRequestMethod("GET");
connection.setRequestProperty("charset", "utf-8");
connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36");
connection.setConnectTimeout('\uea60');
connection.setReadTimeout('\uea60');
connection.setInstanceFollowRedirects(false);
Log.d(TAG, "b4 connect");
connection.connect();
Log.d(TAG, "after connect");
if(connection.getResponseCode() == 200) {
return IOUtils.toString(connection.getInputStream(), "UTF-8");
}
} catch (Exception var) {
throw new Exception(var.getMessage());
} finally {
connection.disconnect();
}
return null;
यदि यूआरएल 'https' है तो इसके बजाय 'HttpsURLConnection' का उपयोग करें। –
अच्छी कॉल, लेकिन मैंने कोशिश की और मुझे अभी भी यह समस्या है। – user299648
इसे आजमाएं http://stackoverflow.com/a/8655039/2311117 – Shivansh