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,如需轉載請自行聯系原作者