首先,我有一个A站点为:test.home.com,我有B站点登录需要的用户名与密码。比如说,B站点的登录页为www.cnblogs.com我现在用HttpWebRequest进行post请求,返回的response已经可以取到登录成功后跳转的页面的源码,证明已经通过验证了。然后,我在后台用Response.Redirect()到需要身份验证的页面。结果是,让我登录。为什么我已经登录了,还要再让我登录呢。网上说,是因为服务器端的cookie和客户端的cookie不一致造成的。可是我用Response.Cookies.Add将我得到的Cookie。如,ASP.NET_SessionID等已经加到了客户端。但是还是不行。在这里,我想请问一下大侠们,我该如何才能实现用post自动登录成功后,IE自动跳转到登录成功后的页面。这里有一个不好的地方就是,B系统没有任何接口,我也没有B系统的源代码,也就是所,对B系统的登录进行改造是不可能的了。或者说,我这个思路从最开始就是错的?还请各位高人指点一二。另外,hao123的那个登录各邮箱的功能,是那些邮箱网站提供了相应的接口,hao123才实现那种功能的么。
2 回答
智慧大石
TA贡献1946条经验 获得超3个赞
"我现在用HttpWebRequest进行post请求,返回的response已经可以取到登录成功后跳转的页面的源码,证明已经通过验证了。"你这做的这件事其实hao123那种登录方式,只不过hao123登录到邮箱后就停留到邮箱所在的那个站点了,所以可以成功啊。
你完成了第一步登录,第二步再重定向到B站点,是两步没有任何关联的操作。cookie的环境早已经发生变化,即使cookie的值是一样的。服务器cooike,也就是session吧,本质上也是依赖于客户端cookie的值来识别的,基于查询的session很少见了,所以应该是不会成功的。
慕斯709654
TA贡献1840条经验 获得超5个赞
.是不是我理解错了,你登录了B站点对A站点有什么影响??,A站点当然不会验证通过啊
2.hao123那些邮箱登录原理很简单,就是把用户名和密码POST对应的邮箱登录地址就可以了.
- 2 回答
- 0 关注
- 408 浏览
添加回答
举报
0/150
提交
取消