Java 猫扑(mop)打卡小应用
唉 mop又没打卡,前面十几天全没啦,像我们这些IT码农虽然天天上网,但是总是忘记打卡,这不一失足生成千古恨,失败了撒。好不容易每次打卡都能得几百份的,唉。
1. [代码][Java]代码
package com.mop.core;
import java.io.IOException;
import java.net.URISyntaxException;
import java.util.HashMap;
import java.util.Map;
import org.apache.http.HttpException;
import org.apache.http.client.HttpClient;
import org.apache.http.impl.client.DefaultHttpClient;
import com.mop.util.HttpUtil;
/**
* 猫扑打卡小应用
*
* @author jeson.sha
* @website www.ij2ee.com
*/
public class Mop {
private static final String LOGIN_URL = "http://passport.mop.com/Login?url=http://www.mop.com&charset=utf-8";
private static final String USER_INFO = "http://passport.mop.com/common/user-info?callback=jsonp1338724243937";
private static final String PUNCH = "http://passport.mop.com/punch-the-clock/punch?callback=jsonp1338724243939";
private static final String CHARSET="utf-8";
/**
* @param args
* @throws InterruptedException
* @throws HttpException
* @throws IOException
* @throws URISyntaxException
* @throws IllegalStateException
*/
public static void main(String[] args) throws IllegalStateException, URISyntaxException, IOException, HttpException, InterruptedException {
HttpClient client = new DefaultHttpClient();
String userName = "猫家三少";
Mop mop = new Mop();
mop.login(client,userName,"111111");
boolean isLogin = mop.getIsCanGetUserInfo(client,userName);
if(!isLogin){http://www.huiyi8.com/bgm/
System.out.println("登录失败");
}
if(mop.punch(client)){
System.out.println("打卡成功");
}else{背景音乐
System.out.println("打卡失败");
}
}
/**
* 打卡积分
* 成功会返回 jsonp1338724243939({"mpPlused":20,"status":200}) 分数 和状态
* 失败则返回 jsonp1338724243939({"status":404})
* 区别就是 有没 mpPlused json属性
* @param client
* @return 是否打卡成功
* @throws IllegalStateException
* @throws URISyntaxException
* @throws IOException
* @throws HttpException
* @throws InterruptedException
*/
private boolean punch(HttpClient client) throws IllegalStateException, URISyntaxException, IOException, HttpException, InterruptedException {
String punchRes = HttpUtil.doGet(client, PUNCH, CHARSET);
return punchRes.indexOf("mpPlused")!=-1;
}
/**
* 可否获取用户信息
* 成功JSON则会出现登录名 所以这里就用是否存在用户名判断
* @param client
* @param userName
* @return
* @throws IllegalStateException
* @throws URISyntaxException
* @throws IOException
* @throws HttpException
* @throws InterruptedException
*/
private boolean getIsCanGetUserInfo(HttpClient client,String userName) throws IllegalStateException, URISyntaxException, IOException, HttpException, InterruptedException {
boolean isCanGetUserInfo = false;
String res = HttpUtil.doGet(client, USER_INFO, CHARSET);
isCanGetUserInfo = res.indexOf(userName)!=-1;
return isCanGetUserInfo;
}
/**
* 登录
* 没有header 或header有误 则会导致登录失败
* @param client
* @param userName
* @param password
* @throws IllegalStateException
* @throws URISyntaxException
* @throws IOException
* @throws HttpException
* @throws InterruptedException
*/
private void login(HttpClient client,String userName,String password) throws IllegalStateException, URISyntaxException, IOException, HttpException, InterruptedException{
Map<String, String> param = new HashMap<String, String>();
param.put("user_name", userName);
param.put("password", password);
Map<String, String> loginHeader = new HashMap<String, String>();
loginHeader.put("Content-Type","application/x-www-form-urlencoded");
loginHeader.put("User-Agent","Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; QQWubi 133; CIBA; .NET CLR 2.0.50727)");
loginHeader.put("Host","passport.mop.com");
loginHeader.put("Referer","http://www.mop.com/");
loginHeader.put("Cookie","mopst_ssid=13387192652653136; mopst_ssid_time=1338719327796; base_domain_629695a417eb49ada2a6bc2f67b3f7ef=mop.com; mopst_unique=13387192636401978; mop_locale=0086320500; maxfxbidw2010=935; xnsetting_629695a417eb49ada2a6bc2f67b3f7ef=%7B%22connectState%22%3A2%2C%22oneLineStorySetting%22%3A3%2C%22shortStorySetting%22%3A3%2C%22shareAuth%22%3Anull%7D");
String postRes = HttpUtil.doPost(client, LOGIN_URL, param, loginHeader,CHARSET);
System.out.println(postRes);
}
}
转载于:https://www.cnblogs.com/xkzy/p/3916519.html
Java 猫扑(mop)打卡小应用相关推荐
- 一个女孩的就业之路 ------来自猫扑(mop.com)
我觉得,这是有史以来我在校内上面看到的最有价值的东西.真的是不枉费这一点时间看完它.太真实了. 下面就是那个同济毕业的女生写的东西: 我是2005年毕业的,偶尔来这里看看,不常灌水. 今天来随意写下一 ...
- java校园疫情上报打卡小程序源码(毕设)
开发环境及工具: 大等于jdk1.8,大于mysql5.5,idea(eclipse),微信开发者工具 技术说明: springboot mybatis 微信小程序 代码注释齐全,没有多余代码,适合学 ...
- 一个女孩的就业之路(同济大学BBS上两年不沉的帖子) 转自猫扑
我觉得,这是有史以来我在校内上面看到的最有价值的东西.真的是不枉费这一点时间看完它.太真实了. 下面就是那个同济毕业的女生写的东西: 我是2005年毕业的,偶尔来这里看看,不常灌水. 今天来随意写下一 ...
- 签到java小程序代码_微信小程序全栈项目:签到打卡小程序 + 后端实现
[实例简介] 签到打卡小程序 + 后端实现 : 后端是 springmvc + mybatis + mysql实现 [实例截图] [核心代码] Calendar `-- Calendar |-- Ca ...
- 微信小程序 java疫情个人防疫打卡监控系统python
将系统权限按管理员和用户这两类涉及用户划分. (a) 管理员:管理员使用本系统涉到的功能主要有:个人中心.用户管理.个人打卡管理.防疫打卡管理.消息提醒管理.系统管理等功能 (b)用户进入系统前台可以 ...
- java面试app_Java面试训练app下载-Java面试题训练下载 v2.3 安卓版-IT猫扑网
java面试训练是一款专为面试Java程序开发的朋友们准备的手机应用.通过该应用,你在手机上就可以快速准确的了解与Java面试有关的题目和答案,为日后的应聘做好完全的准备,有需要的朋友可以来IT猫扑下 ...
- java连接sqlserver2008_java连接sqlserver2008驱动包下载完整版_ IT猫扑网
java连接sqlserver2008驱动包,连接时一直提示驱动不匹配,查了java连接相关问题才知道需要一个驱动包,找了下,果断有用啊~~分享给大家~有需要的朋友就来IT猫扑下载吧! 驱动包内容 m ...
- 算法--猫扑素数--java版
算法–猫扑素数–java版 简介 猫扑素数: 形如以 2 开头, 之后跟任意多个 3 的十进制整数如果是个素数, 则它是猫扑素数. 如 2, 23, 233, 2333, 23333 都是猫扑素数, ...
- 华为等上榜全球100大最具影响力企业;猫扑关闭发帖功能;亚马逊要给逾50万名员工加薪 |极客头条...
「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...
最新文章
- ASP.NET MVC 中将FormCollection与实体间转换方法
- python【力扣LeetCode算法题库】9- 回文数
- 【POJ1456】Supermarket
- 一文了解Kubernetes的前世今生
- tf.reshape 和 tf.transpose 用法
- web前端技术分享:es6展开运算符概念和使用!
- 【mysql】配置 选项文件
- 音视频技术开发周刊 72期
- XPE下关闭自动播放功能的方法
- Spring Cloud 终于按捺不住推出了自己的服务网关 Gateway
- 数据转换之 Number
- 得推乡镇拼车系统源码v1.0
- Xamarin Android 应用程序内图标上数字提示
- ftok函数(file to key)
- 史上最详细的F450四轴装机实例(无名官方推荐的)
- 如何传输本地文件到服务器,本地传输文件到服务器
- 解决“Macbook外接显示器后键盘音量键无法使用以及Numlock失效”的问题
- ubuntu开机密码破解
- 红米机器人倒地_红米出现一个小人维修android机器人
- 前端开发:JS中join()方法的使用总结
热门文章
- Redis数据结构为字典Hash 的 存储、获取、删除等的操作
- 从硬盘安装Linux操作系统的方法步骤
- 有效 QA 过程测量的 10 个基本指标
- 已经变了….谈谈对现在大环境的一些想法与思考
- 世界编程语言排行榜08年02月
- Formidable 项目开发人员驳斥:MITRE 发的这个CVE漏洞纯属“碰瓷”
- 很细的项目部署上线流程(一)服务器搭建环境从0开始,Linux安装JDK安装nginx部署ssl证书安装git安装node安装pm2安装maven
- 性能: 网上常说性能测试是什么
- 【IoT】创业:如何找到可以主导的创业市场?
- 命令:xcrun、xcodebuild