Я пишу HTTP-клиент, который должен проанализировать ответ от веб-сервера, и я столкнулся с (другой) проблемой.
Я обнаружил, что на одной странице меня перенаправили на портал мобильного контента:
Пример: www.example.com/m/public. Это не то, что я хочу.
При использовании «обычного» браузера переадресация не выполнялась.
Просмотрев сделанный мной снимок, я обнаружил, что это может быть связано с тем, что мой пользовательский агент интерпретируется как браузер мобильного телефона (пользовательский агент был "Java / 1.6.0_22").
Итак, я изменил пользовательский агент, используя это:
URL url = new URL(endpoint);
URLConnection conn = url.openConnection();
conn.setRequestProperty ( "User-agent", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.5.30729; InfoPath.1; .NET CLR 3.0.30618)");
К моему удивлению, он все еще не работал, и я обнаружил, что все еще отправляю пользовательский агент "Java / 1.6.0_22".
Затем я посмотрел немного поближе на свой захват и увидел, что после пары запросов GET (после первого GET я отправляю GET источникам на главной странице) пользовательский агент волшебным образом изменился с Java на «Mozilla» ... ".
Кажется, мой setRequestProperty не становится активным, пока через некоторое время ...
Кто-нибудь видел это? Есть ли способ обойти это?
Спасибо!