问题描述
- 后台模拟登陆成功,是否可以直接在浏览器打开登陆后的页面
-
使用的苏飞论坛的HttpHelper模拟登陆,需要cookie,后台登录成功。
现在我们的需求是客户有很多个系统,每个登陆嫌太麻烦,想在我们的系统做个链接,点击就能打开新网页并进入主页面。账号已提供,请问技术上是否能实现?现在卡在传递cookie上面,后台用Response.Redirect不知道如何传递。
解决方案
http://stackoverflow.com/questions/11885352/passing-cookies-in-response-redirect-in-asp-net
这有篇帖子,但没太看懂。看懂的兄弟能否告知下?
解决方案二:
http://bbs.csdn.net/topics/310147034
http://bbs.csdn.net/topics/390146603
这两篇都没看明白,到底可不可以呢?
解决方案三:
现在我的思路是本地建立一个页面 包含form表单
因为有验证码 必需先从浏览器获取到图片 这样取到的sessionid才是正确的
简单的验证码识别已经可以了 现在问题成为如何将验证码保存起来 进行验证
注意 必需从浏览器取获得到的图片
地址如下:http://115.47.14.243:8080/rmr/images/safecode.jsp
这个跟直接右键下载图片保存到本地的内容是一样的
还发现如下操作 内容是字符串:
现在问题是应该如何将显示的图片保存起来,这一步如果实现了,就没问题了。
<!DOCTYPE html>
protected void Page_Load(object sender, EventArgs e)
{
Image1.ImageUrl = "http://115.47.14.243:8080/rmr/images/safecode.jsp";
//Image1.Load
//Image1
}
private Bitmap byteArrayToImage(byte[] Bytes)
{
MemoryStream ms = new MemoryStream(Bytes);
Bitmap outputImg = (Bitmap)Bitmap.FromStream(ms);
return outputImg;
}
protected void Image1_Load(object sender, EventArgs e)
{
System.Web.UI.WebControls.Image image = (System.Web.UI.WebControls.Image)sender;
}
解决方案四:
<!DOCTYPE html>
解决方案五:
既然已经通过HTTP拿到cookie了,下面把cookie置入浏览器就行了,不过有两个问题:
1。如果服务器除了检测cookie还检测了IP地址,直接实现跨网登录就不行了
2。如何植入浏览器,有可能你需要自己实现一个浏览器,当然可以直接用现成的内核,比如chrome
解决方案六:
参考COOKIE格式与读写相关
WININET API对COOKIE的读写
非浏览器客户端想要读写COOKIE,有如下几个函数可用:
InternetGetCookie InternetSetCookie InternetGetCookieEx InternetSetCookieEx
解决方案七:
我也是想要这个功能..在自己的网站上输入别的网站上的用户名和密码..然后 点击登录后就跳转到别人网站上的用户中心页面,请问楼主解决 这个问题了吗?