Too many automatic redirections were attempted 해결 방법


  
  
  
  
  1. HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(address); 
  2. HttpWebRequest response = (HttpWebRequest)request.GetResponse(); 
  3. Stream sm = response.GetResponseStream(); 

위 코드는 일부 웹 사이트를 방문할 때 정상적이지만 일부 오류는 있습니다.
Too many automatic redirections were attempted
해결 방법은 다음과 같이 문을 추가하는 것입니다.
 

  
  
  
  
  1. HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(address); 
  2. request.CookieContainer = new CookieContainer(); 
  3. HttpWebRequest response = (HttpWebRequest)request.GetResponse(); 
  4. Stream sm = response.GetResponseStream(); 

 
분석 프로세스:
IE로 "오류"사이트에 방문하면 모든 것이 정상입니다. 이것은 오류가 발생한 것이 제 프로그램이라는 것을 설명합니다.
리퀘스트 초기화 후 다음 문장을 추가하면

  
  
  
  
  1. reqest.AllowAutoRedirect = false

리퀘스트지만.GetResponse()가 정상적으로 반환되지만 request.상태는 FOUND야.
WireShark 클러치로 IE와 프로그램의 패킷의 차이를 분석한 결과 2, 3차 점프할 때 IE가 쿠키가 더 많은 것을 발견했다.그래서 의심은 그것과 관련이 있다.
그래서 윗문장을 덧붙여 문제를 해결했다.

좋은 웹페이지 즐겨찾기