Доступ к RSS-каналу BBC в приложении для Android - PullRequest
0 голосов
/ 15 июля 2011

У меня возникли проблемы с чтением двух каналов BBC в моем приложении для Android, они оба, похоже, перестали работать. Это особенно странно, потому что все другие каналы работают нормально, используя ту же систему. Я предполагаю, что если кто-то сможет протестировать их в Eclipse, это поможет мне определить, ограничивает ли брандмауэр / прокси моей работы доступ к этому конкретному веб-сайту.

Фиды http://newsrss.bbc.co.uk/weather/forecast/2159/Next3DaysRSS.xml и http://feeds.bbci.co.uk/news/england/kent/rss.xml.

У меня есть другие каналы, которые хорошо читаются, например, http://www.kent.ac.uk/news/rss.html

Еще одна странная вещь: у парня рядом со мной, работающего над iPhone при тех же сетевых ограничениях, нет проблем.

Любая помощь будет принята с благодарностью!

Для информации вот код, который я использовал для получения каналов:

 HttpParams params = new BasicHttpParams();
 HttpConnectionParams.setConnectionTimeout(params, 10000);


 // proxy settings
 String proxyHost = android.net.Proxy.getDefaultHost();
 int proxyPort = android.net.Proxy.getDefaultPort();

if(proxyPort != -1){
    params.setParameter(ConnRoutePNames.DEFAULT_PROXY, new HttpHost(proxyHost,proxyPort));
}

URL url = null;
        try {

            SAXParserFactory spf = SAXParserFactory.newInstance();
            SAXParser sp = spf.newSAXParser();
            XMLReader xr = sp.getXMLReader();

            url = new URL(feedUrl);

            URLConnection conn = url.openConnection();
            // setting these timeouts ensures the client does not deadlock indefinitely
            // when the server has problems.
            conn.setConnectTimeout(2000);
            conn.setReadTimeout(2000);

            xr.setContentHandler(this);

    /* This is where it lurches indefinitely VVV */
            xr.parse(new InputSource(url.openStream()));




        } catch (IOException e) {
            Log.e("RSS Handler IO", e.getMessage() + " >> " + e.toString());
        } catch (SAXException e) {
            Log.e("RSS Handler SAX", e.toString());
        } catch (ParserConfigurationException e) {
            Log.e("RSS Handler Parser Config", e.toString());
        }

1 Ответ

0 голосов
/ 15 июля 2011

Я предполагаю, что у вас та же проблема, что и в этом вопросе .Работает ли, если вынуть настройки прокси?Если это проблема, я бы предложил записать поток ответов в память, прежде чем передавать его в ваш XMLReader.

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