Это немного странно. Я использую HTTPClient 4.1.2, и кажется, что всякий раз, когда он находит URL-адрес с чем-то вроде «#», он получает полный символ # в URL.
Например, при попытке получить URL http://stks.co/eWt
будет перенаправлен на URL http://news.ichinastock.com/2011/10/jack-ma-alibaba-has-prepared-20-billion-to-acquire-yahoo/#.Tpw-xG61XjU.twitter
. Теперь этот URL активен, но проблема в том, что HTTPClient отправляет запрос на получение с URI, установленным в URI: /2011/10/jack-ma-alibaba-has-prepared-20-billion-to-acquire-yahoo/#.Tpw-xG61XjU.twitter
, что заставляет сервер отправить обратно страницу 404, не найденную.
Глядя на GET, отправляемый IE, Firefox и cURL, все они удаляют # ... с конца URI, поэтому, например, URI запроса CURL GET установлен как URI: /2011/10/jack-ma-alibaba-has-prepared-20-billion-to-acquire-yahoo/
- все #... был удален. Это для точно такого же URL-адреса записи http://stks.co/eWt
.
В качестве теста, отправка этого необработанного URL-адреса в HTTPClient (т.е. HttpGet httpget = new HttpGet("http://news.ichinastock.com/2011/10/jack-ma-alibaba-has-prepared-20-billion-to-acquire-yahoo/#.Tpw-xG61XjU.twitter");
) дает тот же результат 404 не найден.
Таким образом, вопрос в том, есть ли какие-либо настройки в HTTPClient, которые можно установить так, чтобы такие вещи, как конечный # ..., можно было автоматически удалять из URL. Или как мне вручную удалить это из URL-адресов (помните, что мне нужно будет также захватить все URL-адреса перенаправления)?