Java SSH最新的可行的模拟登录163,126,yeah,tom,sina,sohu等邮箱,并且解析出好友列表
来源:互联网 发布:matlab输入数组 编辑:程序博客网 时间:2024/05/03 21:22
这边只列举出163的 其他的可以联系本人购买价格面议 可免费升级。
需要的 给我发邮件: sl514@163.com
package com.d1xn.invite.mailImportor.mailImporter;import java.io.InputStream;import java.util.ArrayList;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;import org.apache.http.NameValuePair;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.impl.cookie.BasicClientCookie;import org.apache.http.message.BasicNameValuePair;import org.apache.log4j.Logger;import com.d1xn.core.config.CoreErrorCode;import com.d1xn.core.util.IOUtil;import com.d1xn.invite.config.InviteErrorCode;import com.d1xn.invite.mailImportor.common.ContactImpl;import com.d1xn.invite.mailImportor.common.ContactListImporterImpl;import com.d1xn.invite.mailImportor.user.Contact;import com.d1xn.invite.mailImportor.util.StringUtil;/** * 网易163邮箱导入对象 * * @author shaliang * @blog www.ij2ee.com * */public class Mail163Importer extends ContactListImporterImpl {@Override/** * 登录 */protected int login(DefaultHttpClient client) throws Exception {//log.info(this.getemail());NameValuePair data[] = { new BasicNameValuePair(".verifycookie", "1"),new BasicNameValuePair("style", "35"),new BasicNameValuePair("product", "mail163"),new BasicNameValuePair("username", this.getUsername()),new BasicNameValuePair("password", this.getPassword()),new BasicNameValuePair("selType=", "jy"),new BasicNameValuePair("remUser", "on"),new BasicNameValuePair("secure", "on") };long time = System.currentTimeMillis();BasicClientCookie cookie = new BasicClientCookie("163_LOGIN",(new StringBuilder("T")).append(time).append("/").append(time - 16L).append("/").append(time).toString());client.getCookieStore().addCookie(cookie);log.info(cookie);String loginPageUrl = getLoginURL() + "&d="+ System.currentTimeMillis();log.info("Requesting login page");//发送post请求 获取响应字符串String content = readInputStream(doPost(client, loginPageUrl, data, ""),null);if (content.contains("window.location.replace")) {log.info("redirecting");} else {log.info("Login failed, username or password do not match please check your name&password");return CoreErrorCode.ACCOUNT_OR_PASSWORD_ERROR;}String reUrl = content.substring(content.indexOf("window.location.replace(\"") + 25);reUrl = reUrl.substring(0, reUrl.indexOf("\")"));InputStream is = doGet(client, reUrl, null);content = readInputStream(is,null);String sessId = null;if (content.contains("index.jsp?sid=")) {String regex = "index.jsp\\?sid=([^\\\"]+)";sessId = StringUtil.getByRegex(regex, 1, content);tempSessId = sessId;}return InviteErrorCode.INVITE_OPERATE_SUCCESS;}/** * 从指定流中解析出联系人集合 * * @param is * 指定的流对象 * @return 解析后得到的联系人集合 */@Overrideprotected List<Contact> parseContacts(InputStream is) throws Exception {// TODO Auto-generated method stubList<Contact> contactList = new ArrayList<Contact>();String line = readInputStream(is,"utf-8");is.close();System.err.println(line);String aa = "<div class=\"gTitleSub\"><div align=\"left\"><b class=\"mTT\">([^<]+)</b></div><div class=\"Extra\"></div></div><table class=\"gTable\"><tr id=\"tr_base_0\" style=\"\"><th>[^<]+</th><td>([^<]+)</td></tr>";Pattern p = Pattern.compile(aa);Matcher m = p.matcher(line);int groupNum = 0;int firstIndex = 0;while(m.find(firstIndex)){String name = m.group(1);String email = m.group(2);contactList.add(new ContactImpl(name,email));firstIndex = m.end();groupNum++;}return contactList;}private Logger log = Logger.getLogger(this.getClass());private String tempSessId = "";private String loginURL;private String contactListURL;public Mail163Importer() {}public Mail163Importer(String username, String password) {super(username, password);}public void setLoginInfo(String email, String password) {super.setLoginInfo(email, password);}public void setLoginURL(String loginURL) {this.loginURL = loginURL;}public void setContactListURL(String contactListURL) {this.contactListURL = contactListURL + this.tempSessId;}public void setTempSessId(String tempSessId) {this.tempSessId = tempSessId;}@Overridepublic String getContactListURL() {return this.contactListURL + tempSessId;}@Overridepublic String getLoginURL() {return this.loginURL;}}
项目运行结果:
- Java SSH最新的可行的模拟登录163,126,yeah,tom,sina,sohu等邮箱,并且解析出好友列表
- 使用Python模拟登录QQ邮箱获取QQ好友列表
- Sina、sohu、tom、163、baidu、google域名服务器测评
- 使用AutoIt自动登录sohu搜狐网页邮箱的代码
- php curl 登录163邮箱|抓取好友列表
- 使用AutoIt自动登录sina新浪网页邮箱的代码
- js模拟QQ好友列表的实现
- 怎么搞的,sohu的邮箱还有chianren校友录都登录不了
- 163邮箱模拟登录
- 模拟登录163邮箱
- 解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
- 解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
- 解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
- 分享读取邮箱通讯录、MSN好友列表的的功能(大多数主流邮箱)
- 新浪邮箱模拟登录java
- 这里是通过QQ邮箱 sina新浪邮箱 163邮箱的简单发送Email
- 好友列表的实现
- 好友列表的实现
- 怎样把数据库的行转成列
- 想要成功,请记住!
- Reeder for Chrome:让 Google Reader 更加简洁美观
- 标准sql实现排行榜问题 --摘自老颜博客
- 帧动画自动播放
- Java SSH最新的可行的模拟登录163,126,yeah,tom,sina,sohu等邮箱,并且解析出好友列表
- 实战WebService II: SOAP篇(基于php)
- 例子LaTex
- C#读取TXT文件
- 理解RESTful架构
- Hadoop 之 Secondary Sort介绍
- eclipse异常关闭,无法启动
- 问题
- 线程池 submit 和 execute