HttpClient - получение неверного источника страницы - PullRequest
0 голосов
/ 23 января 2010

Я использовал HttpClient и GetMethod, чтобы получить источник URL страницы:

http://www.google.com/finance?chdnp=1&chdd=1&chds=1&chdv=1&chvs=Logarithmic&chdeh=0&chdet=1264263288788&chddm=391&chddi=120&chls=Ohlc&q=NSE:.NSEI&

Но каким-то образом я всегда получаю страницу источника:

http://www.google.com/finance?q=NSE:.NSEI

Может кто-нибудь сказать мне, почему и как получить исходный код страницы прежнего URL?

1 Ответ

1 голос
/ 23 января 2010

Я собираюсь пойти дальше и предположить, что происходит то, что ваша реализация HttpClient обрабатывает перенаправления HTTP внутренне, и поэтому, когда вы вызываете GetMethod по первому URL, сервер (google.com) возможно, отправив ответ HTTP перенаправления (302 или 301) для второго URL, который вы в конечном итоге получите.

Причиной этого, вероятно, является то, что первый URL-адрес требует какого-либо файла cookie, который вы не предоставляете, когда делаете запрос. Лучший способ точно определить, что происходит, когда вы делаете запрос таким способом, - это использовать инструмент, такой как WireShark или Fiddler , для анализа последовательности запросов / ответов HTTP от вашего HttpClient и обычного запроса, сделанного с использованием FireFox или IE, и посмотрите, что именно отличается.

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