C#.在网上搜了一些信息,但是没有解决方案:
http://topic.csdn.net/u/20110720/15/7D0518CF-625E-465E-A830-AAFC2E7A89BD.html
http://topic.csdn.net/u/20110120/14/9d4e3fc5-014d-4d4a-baff-461b2f4740f2.html--------------------------------------------------------------------
HttpRequest Post后返回的结果HTML如下,显示已经登录,里面好像有COOKIE的信息,我尝试把document.cookie里面的字符串转换成cookiestring,在下次在取页面的时候显示还是未登录。大家看,下面还有3个URL地址,不知道这3个地址是干嘛的?
我试过依次用HttpRequest访问这3个URL,都可以访问,而且都有COOKIE,但是拿这3个COOKIE来访问下个页面还是未登录。
---------------------------------------------------------------------
如果用IE登录,我用Fiddler抓取的话,第一个登录页面就会有COOKIE的,然后fiddler显示确实是依次访问了下面3个网址。
--------------------------------------------------------------------<!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="refresh" content="2;URL=http://my.tianya.cn/"/>--><title>登录中......</title>
    
    <script>
document.cookie='user=w=用户名&id=47317780&f=1;expires='+(new Date(new Date().getTime()+2592000*1000)).toGMTString()+';path=/;domain=tianya.cn';
document.cookie='temp=k=685683557&s=&t=1295507094&b=8c2375a263bd1826a2ed402abd915446&ct='+parseInt(new Date().getTime()/1000)+';expires='+(new Date(new Date().getTime()+28800*1000)).toGMTString()+';path=/;domain=tianya.cn';
document.cookie='sso=r=1975164433&sid=D714B1EDA76BB89465410F5D51C8320B&wsid=7A3EE0B833B0E3C08C39AE4FB246CFC9;expires='+(new Date(new Date().getTime()+28800*1000)).toGMTString()+';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=1295507094&portalValue=&rightCookie=false&rmCookieCode=&isActivatedUser=&idWriter=47317780&writer=imbigsnake1&intKey=685683557&chvSysGradeList=&sysGrade=&domain=tianyaclub.com&flag=660b3f51149f6033665971af804ee8d9&rmCode=false"></script>
    <script type="text/javascript" src="http://passport.hainan.net/domain.jsp?cookieTime=1295507094&portalValue=&rightCookie=false&rmCookieCode=&isActivatedUser=&idWriter=47317780&writer=imbigsnake1&intKey=685683557&chvSysGradeList=&sysGrade=&domain=hainan.net&flag=660b3f51149f6033665971af804ee8d9&rmCode=false"></script>
    <script type="text/javascript" src="http://passport.hiholiday.com/domain.jsp?cookieTime=1295507094&portalValue=&rightCookie=false&rmCookieCode=&isActivatedUser=&idWriter=47317780&writer=imbigsnake1&intKey=685683557&chvSysGradeList=&sysGrade=&domain=hiholiday.com&flag=660b3f51149f6033665971af804ee8d9&rmCode=false"></script>
    
</head><body>
    <!--
    
        <form  name="buffer" action="http://my.tianya.cn/" method="post">
    -->
    <script >    
        
        
            location.href="http://my.tianya.cn/";    
            
        //document.buffer.submit();    
        //location.href="http://my.tianya.cn/";        
        var url="http://my.tianya.cn/";
        function jump(url){
         var e = document.createElement("a");
         e.href = url;
         document.body.appendChild(e);
         e.click();
        }
        
    </script>
    
    <!-- </form>-->
    
</body></html>--------------------------------------------------
登录的URL是:http://passport.tianya.cn/login.jsp?fowardURL=http%3A%2F%2Fmy.tianya.cn%2F&vwriter=用户名&vpassword=密码
---------------------------------------------------
HTTPrequest的C#代码应该没有问题,因为我登录其他网站都可以取到cookie,用这个cookieContoner都可以访问其他页面的资源。
------------------------------------------------------
我还试过这个:用webbrowser控件访问http://passport.tianya.cn/login.jsp?fowardURL=http%3A%2F%2Fmy.tianya.cn%2F&vwriter=用户名&vpassword=密码,可以登录,然后用代码去取WebBrower的COOKIE string,可以取到,然后新建一个HTTP request(用取到的COOKIE string) 去访问网址的话还是显示未登录.
其实我觉得应该用同一个cookieContiner取访问下个网页,但是webBrowser的控件取不到cookiecontiner,只能取到cookie.
------------------------------------------------------此问题困扰好几天了,请各位大大帮忙看看!如果解决我再加200分!