天天看點

Too many automatic redirections were attempted 的解決方法

HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(address); 

HttpWebRequest response = (HttpWebRequest)request.GetResponse(); 

Stream sm = response.GetResponseStream(); 

上面代碼在通路一些網站時正常,但有一些卻出錯:

Too many automatic redirections were attempted

解決方法是加上一條語句,如下所示:

request.CookieContainer = new CookieContainer(); 

分析過程:

用IE通路”出錯“網站,一切正常。這說明出錯的應該是我的程式。

如果在request初始化後加入下面語句

reqest.AllowAutoRedirect = false; 

雖然request.GetResponse()正常傳回,但是request.狀态卻是FOUND。

用WireShark抓包,分析IE與程式的資料包差別,發現在第2、3次跳轉時IE多了Cookie。是以懷疑和它有關。

是以加上上面語句解決了問題。

本文轉自 h2appy  51CTO部落格,原文連結:http://blog.51cto.com/h2appy/285483,如需轉載請自行聯系原作者

繼續閱讀