2010-11-19 1 views
1

В RSS-сервисах Рейтер загружается RSS-канал из определенных стран java.net.ProtocolException: Too many redirects при загрузке RSS-ленты как для интерфейса, так и для фона. (Специально в случае двух стран: INDIA и USA).Слишком много переадресаций на reuters rss веб-службы

Как я могу решить эту проблему? Кто-нибудь успешно решил эту проблему.

Заранее спасибо.

+0

Можете ли вы предоставить образец URL-адреса RSS для неудачного? Эта ошибка обычно вызвана круговыми переадресациями 'A-> B-> C-> A', но поскольку для некоторых стран она подходит, возможно, вы просто получаете достаточное количество перенаправлений для достижения внутреннего предела. Возможно, вы сможете следовать по пути перенаправления и начинать с URL-адреса далее по цепочке ... – Basic

+2

Вы пробовали использовать классы HttpClient? Эта ошибка кажется, что это происходит, возможно, из 'HttpUrlConnection'. – CommonsWare

+0

@CommonsWare Я использую фабричный метод для разбора xml RSS-каналов, вот его код 'URL url = new URL (urlString); \t \t \t \t \t \t \t \t InputSource InputSource = новый InputSource (url.openStream()); ' Этот код дополнительно используется для документа' (org.w3c.Document) 'анализом. В этой ситуации какая альтернатива вы предлагаете? – Prasham

ответ

0

(ответил на вопрос в комментариях, преобразованного в сообщество вики ответа См Question with no answers, but issue solved in the comments (or extended in chat)..)

@CommonsWare писал:

Вы пытались использовать классы HTTPClient? Эта ошибка кажется, что она приближается, возможно, от HttpUrlConnection.

Возможно, вы захотите переключиться на HttpClient, так как он встроен в Android и является рекомендуемым выбором Google для HTTP-запросов. Я думаю, что есть способы, которыми вы можете иметь более тонкий контроль над тем, как он обрабатывает перенаправления, хотя я еще не столкнулся с вашей конкретной проблемой и поэтому не знаю, поможет ли это в вашем случае.

ОП писал:

Я использую фабричный метод для разбора XML в RSS-каналы, вот его код URL url = new URL(urlString); InputSource inputSource = new InputSource(url.openStream()); Этого код дополнительно используются для документирования (org.w3c.Document) Синтаксических.

Спасибо, ваше предложение работает с небольшим количеством настроек в коде. Я применил эту настройку в моем централизованном методе, и это сработало как шарм.

Смежные вопросы