Я делаю проект для входа на сайт с помощью C #.Cookie этого сайта создан Javascript, я не могу его получить.Есть ли у вас какие-либо идеи?Только после входа в систему я могу читать нужные мне ресурсы с этого веб-сайта
----- Ниже приведен HTML-контент, возвращаемый HTTPWebRequest -----
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <base href="http://passport.tianya.cn:80/" /> <meta http-equiv="cache-control" content="no-cache" /> <meta http-equiv="pragma" content="no-cache" /> <meta http-equiv="expires" content="0" /> <title>Loading......</title> <script> document.cookie='user=w=testAcount01&id=61847120&f=1;expires='+(new Date(new Date().getTime()+2592000*1000)).toGMTString()+';path=/;domain=tianya.cn'; document.cookie='temp=k=715580387&s=&t=1324904085&b=270dc20704fefc75b56510d5b2c225c8&ct='+parseInt(new Date().getTime()/1000)+'&et=-1;path=/;domain=tianya.cn'; document.cookie='sso=r=1789338886&sid=&wsid=E329680C729EA57FE7B913A7CB0EB42E;path=/;domain=tianya.cn'; document.cookie='right=web4=n&portal=n;expires='+(new Date(new Date().getTime()+2592000*1000)).toGMTString()+';path=/;domain=tianya.cn'; document.cookie='temp4=rm=;expires='+(new Date(new Date().getTime()+2592000*1000)).toGMTString()+';path=/;domain=tianya.cn'; </script> <script type="text/javascript" src="http://passport.tianyaclub.com/domain.jsp?cookieTime=1324904085&portalValue=&rightCookie=false&rmCookieCode=&isActivatedUser=&idWriter=61847120&writer=testAcount01&intKey=715580387&chvSysGradeList=&sysGrade=&domain=tianyaclub.com&flag=b868a24deca81f10c73df39b92004b1c&rmCode=false&rmFlag=&wsid=E329680C729EA57FE7B913A7CB0EB42E&r=1789338886"></script> <script type="text/javascript" src="http://passport.hainan.net/domain.jsp?cookieTime=1324904085&portalValue=&rightCookie=false&rmCookieCode=&isActivatedUser=&idWriter=61847120&writer=testAcount01&intKey=715580387&chvSysGradeList=&sysGrade=&domain=hainan.net&flag=b868a24deca81f10c73df39b92004b1c&rmCode=false&rmFlag=&wsid=E329680C729EA57FE7B913A7CB0EB42E&r=1789338886"></script> <script type="text/javascript" src="http://passport.hiholiday.com/domain.jsp?cookieTime=1324904085&portalValue=&rightCookie=false&rmCookieCode=&isActivatedUser=&idWriter=61847120&writer=testAcount01&intKey=715580387&chvSysGradeList=&sysGrade=&domain=hiholiday.com&flag=b868a24deca81f10c73df39b92004b1c&rmCode=false&rmFlag=&wsid=E329680C729EA57FE7B913A7CB0EB42E&r=1789338886"></script> </head> <body> <script> location.href="http://my.tianya.cn"; </script> </body> </html>
C # Код:
CookieContainer container = new CookieContainer(); string url = "http://passport.tianya.cn/login?vwriter=testAcount01&vpassword=123456abc"; var request = (HttpWebRequest)WebRequest.Create(url); request.CookieContainer = container; request.BeginGetResponse(call => { var httpRequest = (HttpWebRequest)call.AsyncState; var httpResponse = (HttpWebResponse)httpRequest.EndGetResponse(call); using (var stream = new StreamReader(httpResponse.GetResponseStream())) { var content = stream.ReadToEnd(); } }, request);
На самом деле мне нужен CookieContainer с правильным файлом cookie, и я принимаю его в качестве следующего контейнера запросов, но этот счетчик cookie CookieContainer равен 0.
PS:
C # выше использует метод GET для доступа, я использовал метод POST с некоторыми заголовками для доступа, результат тот же.
Код должен быть в порядке, я изменил другойURL сайта для входа в систему, я могу получить правильный Cookie.Поэтому я предполагаю, что это проблема с Javascript: как я могу получить ее с C #?
Пожалуйста, не стесняйтесь войти / проверить с именем пользователя и паролем, эта учетная запись только для проверки.
Любая идея приветствуется!Спасибо!
Если этот веб-сайт устанавливает свои куки-файлы с помощью javascript, я бы посоветовал вам попытаться проанализировать javascript в C # и попытаться восстановить cookie-файл из этого.