2013-06-13 2 views
2

사용자가 내 웹 사이트에 로그인 한 후 app에서 사용자 이름을 얻기위한 링크로 이동하므로 앱에서 그를 인식합니다.브라우저에서 쿠키를 브라우저에서 가져 오기 C#

브라우저에서 사용자로 로그인 한 다음 브라우저에 붙여 넣으면 내 사용자 이름이있는 페이지가 표시되지만 코드에서 웹 요청을하면 빈 페이지가 나타납니다.

내 질문은 브라우저로 URL을 열거 나 내가 어떻게 내가

string s= GetHtmlPage("http://www.somedomain.com/account/show_cookies.php","Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)"); 

static string GetHtmlPage(string strURL,string browser) 
     { 
      String strResult; 
      System.Net.WebResponse objResponse; 

      System.Net.WebRequest objRequest = System.Net.HttpWebRequest.Create(strURL); 
      ((System.Net.HttpWebRequest)objRequest).UserAgent =browser; 
      objResponse = objRequest.GetResponse(); 
      using (System.IO.StreamReader sr = new System.IO.StreamReader(objResponse.GetResponseStream())) 
      { 
       strResult = sr.ReadToEnd(); 
       sr.Close(); 
      } 
      return strResult; 
     } 

tryied했지만 그 또한 빈 페이지를 반환

certin 브라우저에있는 쿠키의 값을 얻을 수있는 방법이다 . 당신이 브라우저로 페이지를 accsess 수있는 방법을 알고 아무것도 반환

답변

1

당신은 내가 그것을 tryied HttpClientCookieContainer

CookieContainer cookies = new CookieContainer(); 
HttpClientHandler handler = new HttpClientHandler(); 
handler.CookieContainer = cookies; 

HttpClient client = new HttpClient(handler); 
HttpResponseMessage response = client.GetAsync("http://google.com").Result; 

Uri uri = new Uri("http://google.com"); 
IEnumerable<Cookie> responseCookies = cookies.GetCookies(uri).Cast<Cookie>(); 
foreach (Cookie cookie in responseCookies) 
    Console.WriteLine(cookie.Name + ": " + cookie.Value); 

Console.ReadLine(); 
+0

를 사용할 필요가 있지만 dosent? – user1839169

+0

매우 이상하다, 나는 모든 것이 올바르게 작동한다. Google에 여러 번 방문한 다음 프로그램을 실행하십시오. Google 주소 대신 주소를 입력하십시오. – AndreyMaybe

+0

http://msdn.microsoft.com/ru-ru/library/system.net.httpwebrequest.cookiecontainer.aspx – AndreyMaybe

관련 문제