模拟21cn邮箱登陆,获取邮件

模拟21cn邮箱登陆
用抓包工具firebug(本人使用的也可以时别的),找到登陆页面分析出form表单,21cn登陆的页面url是:
http://open.e.189.cn/189mail/account/unifyAccountLogin.do?appId=8013411507&version=v1.0&clientType=1&paras=C753AEA2F4A5B49F4CDB8FAA67B76EC6B7574A025C7762D4B6DF40517C089400A12B34FB306F67961C52F90B185E9D2C7C91EDA1D5B11ECCDCB6EC2E081060E34B9901761CBD9B3AC9654C6BC9A017CC5284E04EBEC9F4DF237F2E2E06E396BA5437FB665FEAE4C766ED22EDBE96383CFF858694C6148A8345A9C00695A3844735E4FF01FF0CC59FC1A62C672F9D3B168FE0AB271811A3EE5ECA0C342123FDF9B37CD271F748B2F33D6E3E28&sign=28E498416D78B2FEBED59826838D59B8EBFA374C&format=redirect
第一步:获得下一步post请求的需要的参数和cookies下面代码
//usename:为自己的用户名
//pwd为自己的邮箱密码

public static void login(String username, String pwd) {
    Map<String, String> cookies3 = null ;
    String str[] = new String[10];
    // 第一次请求
    // 获取链接
    String url = "http://open.e.189.cn/189mail/account/unifyAccountLogin.do?appId=8013411507&version=v1.0&clientType=1&paras=C753AEA2F4A5B49F4CDB8FAA67B76EC6B7574A025C7762D4B6DF40517C089400A12B34FB306F67961C52F90B185E9D2C7C91EDA1D5B11ECCDCB6EC2E081060E34B9901761CBD9B3AC9654C6BC9A017CC5284E04EBEC9F4DF237F2E2E06E396BA5437FB665FEAE4C766ED22EDBE96383CFF858694C6148A8345A9C00695A3844735E4FF01FF0CC59FC1A62C672F9D3B168FE0AB271811A3EE5ECA0C342123FDF9B37CD271F748B2F33D6E3E28&sign=28E498416D78B2FEBED59826838D59B8EBFA374C&format=redirect";

    Connection con = Jsoup.connect(url);
 con.header("User-Agent", "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:41.0) Gecko/20100101 Firefox/41.0");

    // 配置模拟浏览器)

    // 获取响应
    Response rs;
    try {
        rs = con.execute();
        // System.out.println(rs.body());
        // Document doc=con.get();
        // 转换为dom
        Document dl = Jsoup.parse(rs.body());
        // 获取form表单,
        List<Element> et = dl.select("#loginForm");

        // 获取,cooking的表单属性。下面map存放post的数据
        Map<String, String> map = new HashMap<String, String>();

/* map.put(“userName”, username);
map.put(“password”,pwd);*/
for (Element e : et.get(0).getAllElements()) {
// e.attr(“name”).equals(“userName”)表示name标签的值
if (e.attr(“name”).equals(“userName”)) {
// 设置用户名
e.attr(“value”, username);
}
if (e.attr(“name”).equals(“password”)) {
// 设置用户密码
e.attr(“value”, pwd);
}
// 排除空值表单属性
if (e.attr(“name”).length() > 0) {
map.put(e.attr(“name”), e.attr(“value”));
}
}

int i = 0;
        for (Map.Entry<String, String> ele : map.entrySet()) {
        System.err.println(ele);
            str[i] = ele.getValue();
            i++;
        }

        //获取页面cookie
        Connection con1= Jsoup.connect("https://open.e.189.cn/api/common/loginSubmit.do?accountType="+str[5]+"&appId="+str[6]+"&returnUrl="+str[8]+"&clientType=
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值