Android http базовая аутентификация - PullRequest
0 голосов
/ 26 ноября 2011

У меня проблема с подключением по URL http в Android. У меня есть этот метод:

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 Ответ

0 голосов
/ 26 ноября 2011

Вы можете попробовать это решение:

        try 
        {
            HttpClient client = new DefaultHttpClient();
            HttpGet request = new HttpGet(url);
            HttpResponse response = client.execute(request);

            InputStream in = response.getEntity().getContent();
        } 
        catch (Exception e) 
        {
            // Code
        }

Не могу вспомнить правильное Исключение в данный момент, но я думаю, что вы могли бы найти его.

...