2014-01-30 2 views
0

webclient로 로그인 페이스 북을 시도했지만 페이스 북에 로그인하지 않은 로그인 페이지 만 반환했습니다. 내 코드에 어떤 문제가 있습니까?webclient가 페이스 북에 로그인하지 않았습니다.

System.Collections.Specialized.NameValueCollection collection = new System.Collections.Specialized.NameValueCollection(); 
collection.Add("email", "sadasfasdaddsfadfdf"); 
collection.Add("pass", "54"); 
client.Proxy = null; 
byte[] result = client.UploadValues("https://www.facebook.com/login.php?login_attempt=1", "POST", collection); 
System.IO.File.WriteAllBytes("result.html", result); 
System.Diagnostics.Process.Start("result.html"); 

답변

1

Facebook에서 로그인 버튼을 클릭하면 어떤 브라우저가 통과하는지 보셨습니까? 나는 그들이 안티 - 위조 토큰과 같은 어떤 추가 데이터를 전달하는 것을 본다. 그런 식으로 웹 클라이언트로 로그인을 시도하는 이유는 무엇입니까? 당신의 목표는 무엇입니까? Facebook C# SDK를 사용해 보셨습니까? http://facebooksdk.net/

당신이 로그인 폼 소스를 보면 당신은 추가로 숨겨진 요소를주의 할 것이다 : 나는 이러한 필드의 의미를 모르는

<input name="lsd" type="hidden" autocomplete="off" value="AVqRJE3k"/> 
<input name="lgnrnd" type="hidden" value="100127_w8ha"/> 
<input name="lgnjs" id="lgnjs" type="hidden" value="1391191287"/> 

을,하지만 난 그들 중 일부는 secutrity 거기에 넣어 생각하고 당신은 그들의 가치를 예측할 수 없습니다. 따라서 먼저 로그인 페이지를 요청하고 그 값을 얻은 다음 웹 클라이언트로 로그인 요청을 보내야합니다.

+0

사실 그것은 제가 일반적인 문제가 될 것이라고 생각하기 때문에 나는 다른 웹 사이트에 내가 페이스 북을 사용했을 때 나를 위해 모범이 될 것입니다. 네, 로그인 버튼을 클릭하면 그 사이트를 돌려줍니다. –

+0

매번 값이 "n"인 문서에서이 값을 얻었습니다. 네비게이션 중에는 다른 값이 전송됩니다. 어디에서 실제 가치를 찾을 수 있습니까? 친절하게 도와주세요. – Charlie

관련 문제