2009-11-25 5 views
0

계정 사용자 이름과 암호를 사용하여 flickr 계정에 사용자를 로그인 할 수 있어야합니다.HttpWebRequest를 사용하여 flickr에 로그인하기위한 코드 (C#)

나는 꽤 오랫동안 온라인에서 검색해 왔지만 구현의 일부분 만 발견했습니다. 나는 Http 호출에 전혀 경험이 없다. 나는 완전한 예가 필요하다. 이것은 내가 지금까지 가지고있는 코드입니다.

HttpWebRequest http = WebRequest.Create(url) as HttpWebRequest; 
http.Method = "POST"; 
http.ContentType = "application/x-www-form-urlencoded"; 
string postData = "FormNameForUserId=" + username + "&FormNameForPassword=" + password; 
byte[] dataBytes = UTF8Encoding.UTF8.GetBytes(postData); 
http.ContentLength = dataBytes.Length; 

using (Stream postStream = http.GetRequestStream()) 
{ 
    postStream.Write(dataBytes, 0, dataBytes.Length); 
} 

HttpWebResponse httpResponse = http.GetResponse() as HttpWebResponse; 

모든 매개 변수가 플리커를 무엇인지 나는 알아내는 추측이 시점에서 내 주요 문제

로그 "당신"에서 할 필요

어떤 제안을 환영합니다

답변

1

당신은 당신의 브라우저가 로그인 요청에 보내는 것을 검사 Fiddler 같은 프록시를 사용하여 시도 할 수 있습니다.

그러나 최선의 방법은 대신 Flickr API을 사용하는 것입니다. FlickNet은 API의 .Net 래퍼입니다.

1

http.AllowAutoRedirect = false;을 설정했는지 확인하십시오. 저에게 두 시간 동안 머리를 두드리는 소스였습니다. 때로는 게시물 요청은 로그인 한 후에 홈 페이지로 리다이렉트를 반환합니다. .NET 자동은 리디렉션을 따르지만 새로 획득 한 쿠키는 제출하지 않습니다. >. <

1

플리커 API이 필요합니다 당신의 FROB를 구축

http://flickr.com/services/auth/?api_key=[api_key]&perms=[perms]&frob=[frob]&api_sig=[api_sig] 

가장 쉬운 방법 및 토큰은 Flickr.Net 함께 :

API Key 
Perms (Permissions: read, write, delete) 
Frob 
API Signature 

귀하의 URL은 다음과 같이보고 끝날 것입니다. 다음과 같은 코드가 있습니다.

Flickr ourFlickr = new Flickr(); 

ourFlickr.ApiSecret = ApiSecret; 
ourFlickr.ApiKey = ApiKey; 

string signature = ApiSecret + "api_key" + ApiKey + "methodflickr.auth.getFrob"; 

string frob = ourFlickr.AuthGetFrob().ToString(); 

string url = "http://flickr.com/services/auth/?api_key=" + ourFlickr.ApiKey + "&perms=" + "read" + " &frob=" + frob + "&api_sig=" + signature; 

이 정보가 도움이되기를 바랍니다. API와 인터페이스를 사용하면 웹 양식을 리버스 엔지니어링하는 것보다 훨씬 쉽습니다.

관련 문제