HttpsURLConnection периодически переходит на один и тот же URL - PullRequest
2 голосов
/ 15 мая 2010

Я думаю, что я испытываю так же, как http://groups.google.com/group/android-developers/msg/9d37d64aad0ee357
Это Android 1.5 SDK. Я случайно позвонил несколько раз ниже кода (который находится в методе) с тот же URL, и он прерывается с перерывами.
Когда это терпит неудачу, нет никакого исключения, поток пуст, поэтому сбой readConnection, и getResponseCode возвращает -1.
Глобальное кэширование отключено, setDefaultUseCaches (false);

Полагаю, где-то должен быть какой-то пул объектов URL-соединений.

Есть идеи, как это обойти?

HttpURLConnection connection = null;
    try {
        URL url = new URL(this.url);
        connection = (HttpURLConnection) url.openConnection();
        connection.setRequestProperty("Authorization", "basic " +
        Base64Coder.encodeString(user + ":" + password));
        connection.setRequestProperty("User-Agent", userAgent);
        connection.connect();

        readConnection(connection.getInputStream());

        connection.disconnect();
    } catch (IOException ex) {
               reportException(ex, connection.getResponseCode())
    } catch (ParserException ex) {
               reportException(ex, connection.getResponseCode())
    } 

Ответы [ 2 ]

3 голосов
/ 26 июля 2010

Я решил эту проблему, добавив строку ниже ...

System.setProperty("http.keepAlive", "false");

... до моей соединительной линии ...

connection = (HttpURLConnection) url.openConnection();

Удачи!

0 голосов
/ 26 июля 2010

если getResponseCode возвращает -1, это означает, что произошла какая-то ошибка соединения.

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