java獲取qq郵箱中的好友列表
如果簡單的使用java模擬瀏覽器 訪問qq mail服務(wù)器獲取 好友列表,實在是太困難了,個人能力有限實現(xiàn)不了,想了其他辦法,創(chuàng)建了
web項目,分析不了騰訊是怎么加密,但我可以作為一種代理,如圖:
要采用上面的方式來獲取好友,大致可以分為一下幾個步驟:
1.首先制作一個login.jsp頁面,代碼直接從騰訊郵件的登陸頁面中復(fù)制過來,把頁面交互的改成我們自己的服務(wù)器.
(1)獲取驗證碼的地址:http://ptlogin2.qq.com/getimage?aid=23000101 后面帶個隨機數(shù),為了防止瀏覽器緩存。
(2)當用戶輸入用戶名 密碼 和驗證碼,點登陸的時候,也讓用戶提交到我們的服務(wù)器來。
2. 我這里寫了一個servlet,該類是從qq郵件服務(wù)器中獲取驗證碼的,如何獲取呢?我采用的是
httpclient4.0-beta2 包,該包是apache的 Apache HttpComponents project,是個開源的,具體使用和了解可以訪問:
http://hc.apache.org/httpcomponents-client/index.html,(該項目功能很強大)
在獲取了驗證碼之后,qq服務(wù)器他在cookie中寫了一個verifysession,當你點登陸的時候
客戶端校驗需要。
3. 把客戶端提交過來的信息我們?nèi)フ埱髊q服務(wù)器,這樣就會登陸成功了,服務(wù)器會返回帶sid的html代碼,解析出來sid的值
然后訪問http://m11.mail.qq.com/cgi-bin/addr_listall?sid=" +sid+"&sorttype=null&category=common,就獲取到qq中好友分組,以及每一個組的鏈接地址
4.請求每一個鏈接 就可以得到每一組的好友了
上面我只是寫了實現(xiàn)的思路,有興趣的可以跟我聯(lián)系,具體代碼可以分享 給大家 。。。 qq:253041869
posted on 2009-05-07 17:54 胡鵬 閱讀(4139) 評論(23) 編輯 收藏 所屬分類: java基礎(chǔ) 、J2EE