2011-02-24 2 views
1

C#을 사용하여 Google의 OAuth에 대한 인증을 시도하고 있지만 최선의 노력에도 불구하고 여전히 400 개의 잘못된 요청이 표시됩니다.C#의 비공개 HttpWebRequest._HttpResponse에 액세스

그래서 내 작은

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

실제로 응답을 얻을 수 없다. 내 응답 객체가 채워지지 않습니다.

하지만 Google에서 400 초에 데이터를 전송합니다. 당신은 브라우저를 가르키는 경우를 볼 수 있습니다 https://www.google.com/accounts/OAuthGetRequestToken

내 질문은 어떻게 C#에서 정보에 액세스합니까? 그것은 HttpWebRequest._HttpResponse의 비공개 멤버의 내부에있는 것처럼 보이지만 bytearray 형식으로되어있어서 프로그램을 읽거나 액세스 할 수 없습니다.

도움을 주시면 감사하겠습니다.

답변

2

는이처럼 던져 404 예외를 잡을 필요 당신은 HttpWebRequest 클래스를 사용하고 있습니다.

0

WebException이 400 오류 발생시 request.GetResponse()에 던져지기 때문에 response 개체가 채워지지 않습니다. 이 같은

시도 뭔가 :

HttpWebResponse response; 
try 
{ 
    response = (HttpWebResponse)request.GetResponse(); 
} 
catch (WebException ex) 
{ 
    response = (HttpWebResponse)ex.Response; 
} 

이 그 성가신 및 IMO 간과의 비트 만 만 먹으 렴 :

HttpWebResponse response; 
bool isValid = false; 

try 
{ 
    response = (HttpWebResponse)request.GetResponse(); 
    isValid = true; 
} 
catch (WebException we) 
{ 
    response = (HttpWebResponse)we.Response; 
} 

if (isValid) 
{ 
    // the response was valid 
} 
else 
{ 
    // the response returned a 400 error 
}