Android http базовая аутентификация
У меня проблема с подключением Android http url. У меня есть этот метод:
private String getHtml(String urlString) throws Exception {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
URL url = new URL(urlString);
URLConnection uc = url.openConnection();
uc.setRequestProperty("Authorization", "Basic " + password);
InputStream content = uc.getInputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(content));
String line;
while ((line = in.readLine()) != null) {
pw.println(line);
}
return sw.toString();
}
Когда я использую его из обычного Java-приложения, оно работает просто отлично. Но когда я запускаю его из приложения Android, оно не работает.
Я заметил, что URL-соединение является org.apache...HttpURLConnection при запуске в Android. И когда он использует это, он не входит в цикл while.
В обычном Java-приложении он использует sun.net...HttpURLConnection (который работает).
Кто-нибудь есть какие-либо предложения о том, как я могу заставить это работать на Android?
1 ответ
Вы можете попробовать это решение:
try
{
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet(url);
HttpResponse response = client.execute(request);
InputStream in = response.getEntity().getContent();
}
catch (Exception e)
{
// Code
}
Не могу вспомнить правильное Исключение в данный момент, но я думаю, вы могли бы его найти.