Как я могу исправить это UnknownHostException? - PullRequest
5 голосов
/ 03 декабря 2009
public static final String readURL(String url)throws Throwable
{
        try {
            InputStream in = (InputStream) fetch(url);
            byte[] bArr = readBytes(in);
            return new String(bArr);
        } catch (Throwable e) {
            throw e;
            }
}


public static final Object fetch(String address) throws MalformedURLException,IOException {
    URL url = new URL(address);
    Object content = url.getContent();
    return content;
}

Я за прокси, и когда я пытаюсь

readURL ( "http://abc.com")

для доступа к URL http://abc.com выдает java.net.UnknownHostException: У меня есть:

<uses-permission android:name="android.permission.INTERNET" /> 

в файле манифеста.

Какие-нибудь быстрые решения?

Ответы [ 4 ]

16 голосов
/ 03 декабря 2009
Proxy proxy = new Proxy(Proxy.DIRECT,
    new InetSocketAddress(proxyHost, proxyPort));
url.openConnection(proxy);

или

System.setProperty("http.proxyHost", "my.proxyhost.com");
System.setProperty("http.proxyPort", "1234");
1 голос
/ 28 июня 2013

Если ваше приложение работает на Эмуляторе , выполните следующие действия:

1) Закройте все работающие эмуляторы.

2) Очистите ваш проект и закройте Eclipse.

3) Запустите затмение снова.

4) Создайте новый эмулятор и запустите ваш проект.

Вот и все! работал на меня !!!

0 голосов
/ 11 марта 2011

Попробуйте использовать это, если вы находитесь за прокси и брандмауэром. Причина в том, что ваш IE и FF включены с настройкой прокси, но эмулятор еще не настроен.

  1. adb shell

  2. sqlite3 /data/data/com.google.android.providers.settings/databases/settings.db

  3. sqlite> ВСТАВИТЬ В ЗНАЧЕНИЯ СИСТЕМЫ (99, 'http_proxy', 'proxy: port');
  4. sqlite> SELECT * FROM system;

Вы должны увидеть последнее введенное значение в нижней части таблицы.

Просмотрите эту ссылку: Прокси, который требует аутентификации с помощью эмулятора Android

0 голосов
/ 03 декабря 2009

Возможно, что fetch не выполняет необходимый поиск DNS. Если вы nslookup abc.com вы получаете перенаправление на www.go.com. Это может быть проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...