HttpClient - 获取不正确的页面源

时间:2010-01-23 16:23:36

标签: httpclient

我使用HttpClientGetMethod来获取网址的网页来源:

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

有谁能告诉我为什么以及如何获取以前网址的网页来源?

1 个答案:

答案 0 :(得分:1)

我将在这里讨论并假设您的HttpClient实现在内部处理HTTP重定向,因此当您在第一个URL上调用GetMethod时,服务器(google.com) )可能会发回第二个URL的HTTP重定向(302或301)响应,这是你最终回来的。

原因可能是第一个URL需要某种cookie,当您提出请求时,您不会提供这种cookie。确定以此方式发出请求的确切内容的最佳方法是使用WireSharkFiddler等工具分析来自HttpClient的HTTP请求/响应序列以及正常请求的HTTP请求/响应序列使用FireFox或IE制作,看看究竟有什么不同。