积极答复者
一个C#客户端程序,通过WebRequest类登录到HTTP服务器并且成功获取cookie,能否将cookie传给由这个程序启动的IE?

问题
答案
-
问题:
1、如果我不能修改服务器呢?就是说服务器是别人的,我只有用户名和密码,我无法通过加密方式传递,因为服务器那边不懂我的加密方式,我也改不了;
2、我不知道你们用不用QQ、旺旺,这些软件都有从客户端打开网页并且自动登录的功能,而且绝对不是在url上传递用户名和密码实现的。
da jia hao!
你可以用 Fiddler 抓包来分析下,根据我的观察,当本地Cookie失效后,在QQ中点击我自己的空间链接,它会先发送:GET : http://ptlogin2.qq.com/jump?.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,然后重定向到:http://user.qzone.qq.com/AAAAAAAAAAAAA?.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 。
Url中哪些XXXXXX就是QQ用来自动实现用户登录的令牌。这个令牌中可能不包含密码,但是肯定包含用户名。
通过 Url 参数来识别用户身份,而不是通过用户名和密码来识别用户身份的方式也有好多种,比如QQ有心跳,可以在服务器上更新一个 SessionID,那么可以通过在 Url 参数中携带此 SessionId的方式来完成自动登录。
如果你无法修改服务器,那么你需要自己建一个服务器页面,点击链接后先访问你的 Url,你根据 Url 参数重定向到对方的登录 url。
- 已编辑 Skyseer 2013年1月25日 2:48
- 已建议为答案 Jason Dot WangModerator 2013年1月28日 4:48
- 已标记为答案 Jason Dot WangModerator 2013年1月31日 8:18
全部回复
-
问题:
1、如果我不能修改服务器呢?就是说服务器是别人的,我只有用户名和密码,我无法通过加密方式传递,因为服务器那边不懂我的加密方式,我也改不了;
2、我不知道你们用不用QQ、旺旺,这些软件都有从客户端打开网页并且自动登录的功能,而且绝对不是在url上传递用户名和密码实现的。
da jia hao!
你可以用 Fiddler 抓包来分析下,根据我的观察,当本地Cookie失效后,在QQ中点击我自己的空间链接,它会先发送:GET : http://ptlogin2.qq.com/jump?.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,然后重定向到:http://user.qzone.qq.com/AAAAAAAAAAAAA?.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 。
Url中哪些XXXXXX就是QQ用来自动实现用户登录的令牌。这个令牌中可能不包含密码,但是肯定包含用户名。
通过 Url 参数来识别用户身份,而不是通过用户名和密码来识别用户身份的方式也有好多种,比如QQ有心跳,可以在服务器上更新一个 SessionID,那么可以通过在 Url 参数中携带此 SessionId的方式来完成自动登录。
如果你无法修改服务器,那么你需要自己建一个服务器页面,点击链接后先访问你的 Url,你根据 Url 参数重定向到对方的登录 url。
- 已编辑 Skyseer 2013年1月25日 2:48
- 已建议为答案 Jason Dot WangModerator 2013年1月28日 4:48
- 已标记为答案 Jason Dot WangModerator 2013年1月31日 8:18