利用HTTP取MSN联系人过程
来源:互联网 发布:苹果手机屏幕录制软件 编辑:程序博客网 时间:2024/05/15 07:02
利用HTTP取MSN联系人过程
1.登录页
http://login.live.com/
可以得到登录提交参数和相应的post地址
2.登录参数
login -- 用户名
passwd -- 密码
LoginOptions -- 登录选项,用值2即可
type -- 为空即可
PPFT -- 一个很长的字串,从input标签中取
PPSX -- 一个短的字串,从input标签中取
PwdPad --
String pwdpad = "IfYouAreReadingThisYouHaveTooMuchFreeTime";
以上的字串从后面截去密码长度的字符串的值
3.post请求
https://login.live.com/ppsecure/post.srf?bk=1259466182
后面需要加入一个参数bk=System.currentTimeMillis()
4.取联系人
1)首先,取得http://people.live.com/?rru=contacts页面的内容
2)这个页面中有一个iframe,指向真正的联系人页面,可以利用正则表达式得到
如:
<iframe id="UIFrame" name="UIFrame" src="http://bl107w.blu107.mail.live.com/mail/ContactMainLight.aspx?n=552148275" onload="uiFrameLoad();"
src后面就是联系人首页的地址
如:
http://bl107w.blu107.mail.live.com/mail/ContactMainLight.aspx?n=552148275
这里url进行了编码,需要进行解码
content.replaceAll(":", ":")
.replaceAll("/", "/")
.replaceAll("?", "?")
.replaceAll("&", "&")
.replaceAll("=", "=");
同时,也要得到host的地址,后面要用到
3)取得联系人的循环
得到第一页的联系人
同时看页面中还有没有形如 “ContactMainLight.aspx?ContactsSortBy=FileAs&Page=”的链接形式
如果有的话,访问下一页;链接形如:http://bl107w.blu107.mail.live.com/mail/ContactMainLight.aspx?ContactsSortBy=FileAs&Page=2&n=552148275
如果没有的话,则到最后一页了,跳出循环
4)取某一页的联系人
页面回复中有如下的json数据
window.cxp_ic_menu_data = {里面是数据};
从页面中取回json数据后,可以得到联系人
用System.out.println()打印联系人姓名时,可以看到 堀辅 形式的编码,这是HTML中汉字的unicode码,需要将其转换成相应汉字
可以利用查表法,先将编码和汉字的对应放到一个Map中,然后利用编码查找相应汉字
- 利用HTTP取MSN联系人过程
- Java利用MSNP协议取得MSN联系人
- 批量复制MSN联系人
- PHP取MSN联系人(使用Windows Live ID Delegated Authentication SDK )
- MSN成批导入即时消息联系人
- 利用HTTP协议获取163的联系人列表(1)
- 利用HTTP协议获取163的联系人列表(2)
- 利用HTTP协议获取163的联系人列表(3)
- 取163邮箱联系人
- 用C#如何获得msn联系人
- asp.net如何获取msn联系人啊
- msn机器人删除联系人的函数
- SNS网站导入MSN、Yahoo、Gmail联系人
- 利用MSN协议开发
- ContentProvider (示例,取联系人)
- Contacts联系人查询过程
- MSN Editor编辑器漏洞利用
- MSN发送消息的过程
- 军事手语
- SSH 包冲突问题
- 流行美语:That does it! 还是算了吧
- 睿智男人的24条生存法则
- 用例图
- 利用HTTP取MSN联系人过程
- MySql 存入数据乱码问题
- excel 设置密码
- excel 加入计算器
- pku 2436 Disease Management
- 如何当一名项目经理?
- 我是新手
- [整理]Linux命令--档案目录管理
- 遍历一个文件夹下的所有文件和子文件夹的函数