Jsoup+JavaMail实现自动投票,验证邮箱功能
2017-05-27 15:22
751 查看
前几天,突然接到boss任务,说客户要在手机上,实现一个自动投票的功
能。而且要一天搞出来。让暴风雨来的更猛烈吧!加班的节奏吗?
虽然是个小工具,但是麻雀虽小,五脏俱全。首先,先拆分下自动投票的需求,以及投票生效条件:
1、在网站上输入用户名,和邮箱账号,然后点击确认;系统自动向邮箱发送一个链接。
2、登录邮箱账号,打开链接,跳转到该网站的页面,投票完成。
boss给我的就只有一个页面,页面上圈了几个圈,所有文字加起来不超过100个文字;当我被叫去办公室的时候,心情有点复杂,有点虚。 没关系,问题总有解决方案嘛。多问问身边的大牛。
开始网上各种查找资料,也问了公司大牛,因为是Https,所以他推荐使用
Fiddler抓包工具,把访问的内容抓下来,分析下post请求就可以轻松搞定。
Fiddler抓Https的包,需要在tools里,打开HTTPS选项,勾选,如下图:
点击File->Capture traffic ,会弹出安装证书操作,需要下载证书,下载完,
双击证书安装,然后重启Fiddler后,就可以抓Https包了。
求就OK了。原来,真理都是这么简单。
在浏览器点击后,Fiddler就抓到数据包了,点击左边链接后,在右边可以看
到数据都分析好了,我们只需要拷贝粘贴就可以了,哈哈!
分析Header中的相关字段:
分析POST参数:
整个投票过程到这里差不多了,接下来就是用代码去Post请求了。
分析之后,发现需要将整个网页爬下来,然后读取里面的一个随机ID值,并放入POST参数中,才可以。网页分析,我使用Jsoup框架,简单粗暴。这里我掉入一个坑,就是用HttpClient实现get请求时,在Android手机上是有限定大小的,无法将整个网页读取下来;至今我也不知道,这个上限是多少。但是为了节约时间,我果断选择用Android自带的HttpUrlConnection组件,进行操作。果然,问题立马解决了。
者都不能用。最后还是上github上一搜,搜出了个Demo出来,左拼右凑,谢
天谢地,总算可以接收邮件了。嘿嘿。
最后,整合到APP里,实现完整的功能。下面是APP大致的实现流程图。
最后,就是测试,修BUG,写说明文档,交差啦。哈哈,希望能帮助到需要的
人吧。
项目还是eclipse,本来是用AS的,后来运行的时候,报错了,没时间去搞,
只好先拿eclipse来救急了,注释也不多哈,看代码要有底子哦!
项目下载地址
能。而且要一天搞出来。让暴风雨来的更猛烈吧!加班的节奏吗?
虽然是个小工具,但是麻雀虽小,五脏俱全。首先,先拆分下自动投票的需求,以及投票生效条件:
1、在网站上输入用户名,和邮箱账号,然后点击确认;系统自动向邮箱发送一个链接。
2、登录邮箱账号,打开链接,跳转到该网站的页面,投票完成。
boss给我的就只有一个页面,页面上圈了几个圈,所有文字加起来不超过100个文字;当我被叫去办公室的时候,心情有点复杂,有点虚。 没关系,问题总有解决方案嘛。多问问身边的大牛。
其实等你看完本篇,你会觉得也没那么困难哈!
开始网上各种查找资料,也问了公司大牛,因为是Https,所以他推荐使用
Fiddler抓包工具,把访问的内容抓下来,分析下post请求就可以轻松搞定。
Fiddler抓Https的包,需要在tools里,打开HTTPS选项,勾选,如下图:
点击File->Capture traffic ,会弹出安装证书操作,需要下载证书,下载完,
双击证书安装,然后重启Fiddler后,就可以抓Https包了。
没错,第一步就是分析Post请求,然后用HttpURLConnection组装下post请
求就OK了。原来,真理都是这么简单。
在浏览器点击后,Fiddler就抓到数据包了,点击左边链接后,在右边可以看
到数据都分析好了,我们只需要拷贝粘贴就可以了,哈哈!
分析Header中的相关字段:
分析POST参数:
整个投票过程到这里差不多了,接下来就是用代码去Post请求了。
分析之后,发现需要将整个网页爬下来,然后读取里面的一个随机ID值,并放入POST参数中,才可以。网页分析,我使用Jsoup框架,简单粗暴。这里我掉入一个坑,就是用HttpClient实现get请求时,在Android手机上是有限定大小的,无法将整个网页读取下来;至今我也不知道,这个上限是多少。但是为了节约时间,我果断选择用Android自带的HttpUrlConnection组件,进行操作。果然,问题立马解决了。
接下来就是网上找接收邮件的代码啦。网上代码千篇一律,很多都不全,或
者都不能用。最后还是上github上一搜,搜出了个Demo出来,左拼右凑,谢
天谢地,总算可以接收邮件了。嘿嘿。
最后,整合到APP里,实现完整的功能。下面是APP大致的实现流程图。
最后,就是测试,修BUG,写说明文档,交差啦。哈哈,希望能帮助到需要的
人吧。
项目还是eclipse,本来是用AS的,后来运行的时候,报错了,没时间去搞,
只好先拿eclipse来救急了,注释也不多哈,看代码要有底子哦!
项目下载地址
相关文章推荐
- JavaMailSender实现邮箱验证功能
- java实现邮箱验证的功能
- Java实现注册邮箱激活验证 即邮件发送功能
- Java实现页面验证功能随机生成图片
- asp.net实现邮箱验证功能,通过邮箱链接激活该帐号
- 使用Windows服务实现投票结果的自动发送功能
- Java安全有效的实现两星期内自动登陆功能
- java实现自动发送短信功能
- 教你用Java安全有效的实现两星期内自动登陆功能-Session
- 用代码实现在eclipse中自动生成package_这个功能很有用_java版
- 使用java的html解析器jsoup和jQuery实现一个自动重复抓取任意网站页面指定元素的web应用
- 利用JavaMail API实现发送E-mail的功能
- 使用java的html解析器jsoup和jQuery实现一个自动重复抓取任意网站页面指定元素的...
- java实现后台自动发邮件功能
- ajax java 实现自动完成功能
- Java乔晓松-ajax实现用户名和邮箱唯一验证实例(struts2框架和HIbernate)
- 邮箱验证功能的实现
- 用java 实现 oracle的自动备份和恢复功能。
- java实现后台自动发邮件功能
- 使用java的html解析器jsoup和jQuery实现一个自动重复抓取任意网站页面指定元素的web应用