2012-06-27 150 views
0

我正在向google.com发出http请求。这是我做的方式:http请求中的错误

HttpTestWebRequest = (HttpWebRequest)System.Net.WebRequest.Create("http://www.google.com/"); 
    HttpTestWebRequest.Method = "GET"; 
    HttpTestWebRequest.BeginGetResponse(GetHttpTestResponse, HttpTestWebRequest); 

... 

private void GetHttpTestResponse(IAsyncResult asynchronousResult) 
{ 
    var webRequest = (HttpWebRequest)asynchronousResult.AsyncState; 
    WebResponse response =((HttpWebRequest)asynchronousResult.AsyncState).EndGetResponse(asynchronousResult); 
    ... 
} 

使用Fiddler它给了我一个HTTP 302移动状态代码,但在应用它抛出了我的异常,并且不重定向到该网站的新位置。

任何想法为什么会发生这种情况?

更新1

即时得到一个NullReferenceException

堆栈跟踪为:

在System.Net.Browser.HttpWebRequestHelper.RemoveHttpOnlyCookies(URI requestUri,字符串setCookieHeaderValue)
在System.Net.Browser.HttpWebRequestHelper.ParseHeaders(URI requestUri,SecurityCriticalDataForMultipleGetAndSet` 1个标头,WebHeaderCollection收集,布尔removeHttpOnlyCookies,HttpStatusCode &状态,字符串&状态说明)
在System.Net.Browser.ClientHttpWebRequest.Progress(对象发件人,EventArgs的)
一个吨MS.Internal.CoreInvokeHandler.InvokeEventHandler(的Int32 typeIndex,代表handlerDelegate,对象发件人,对象参数)
在MS.Internal.JoltHelper.FireEvent(IntPtr的unmanagedObj,IntPtr的unmanagedObjArgs,的Int32 argsTypeIndex,的Int32 actualArgsTypeIndex,字符串eventName的)

+0

你看到什么异常? –

+0

请参阅上面的更新。谢谢! – user1288220

回答

0

尝试设置HttpTestWebRequest.AllowAutoRedirect = true;

+0

我已经尝试过......没有解决我的问题。谢谢! – user1288220

0

似乎有一些特定的HTTP标头(谷歌似乎把一些重复的饼干头)的着陆页(http://www.google.com),这是造成这个吧!其他网站/网页似乎加载好。