- 浏览: 483553 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
feibabm:
楼主,想问下,我配置的这个拦截器为啥没有生效呢?import ...
spring-boot 加入拦截器Interceptor -
yhxf_ie:
项目跑步起来啊,打印完日志就 Process finished ...
spring-boot集成EasyUI和KindEditor -
yhxf_ie:
...
spring-boot集成EasyUI和KindEditor -
lihao312:
什么都不懂的孩子 写道请问一下registry.addInte ...
spring-boot 加入拦截器Interceptor -
爱you不释手:
1 、2 楼 那句的意思是加入名称为UserSecurityI ...
spring-boot 加入拦截器Interceptor
1.利用HttpClient模拟iteye登录
package com.home.action.test.http; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.CookieHandler; import java.net.CookieManager; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; /** * 模仿登录iTeye * @author Li */ public class LoginITEye { private String cookies; private HttpClient http = new DefaultHttpClient(); private final String USER_AGENT = "Mozilla/5.0"; public static void main(String[] args) throws Exception { String url = "http://www.iteye.com/login"; String itUrl = "http://www.iteye.com"; LoginITEye iteye = new LoginITEye(); //打开cookie CookieHandler.setDefault(new CookieManager()); //获取请求登录的页面HTML String page = iteye.getITEyePageContent(url); System.out.println(page); //设置登录参数 List<NameValuePair> params = iteye.tranParams(page, "email","password"); //开始登录 iteye.startLogin(url, params); String itEyePage = iteye.getITEyePageContent(itUrl); System.out.println("----------可以从itEyePage打印里面看到welcome欢迎***。表示登录成功.-----------"); System.out.println(itEyePage); } /** * 开始模拟登录 * @param url * @param params * @throws IOException * @throws ClientProtocolException */ private void startLogin(String url, List<NameValuePair> params) throws Exception { HttpPost request = new HttpPost(url); request.setHeader("Host", "www.iteye.com"); request.setHeader("User-Agent", USER_AGENT); request.setHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); request.setHeader("Accept-Language", "zh-CN,zh;q=0.8,en-GB;q=0.6,en;q=0.4,zh-TW;q=0.2"); request.setHeader("Cookie", getCookies()); request.setHeader("Connection", "keep-alive"); request.setHeader("Referer", "http://www.iteye.com/login"); request.setHeader("Content-Type", "application/x-www-form-urlencoded"); request.setEntity(new UrlEncodedFormEntity(params)); HttpResponse response = http.execute(request); int statusCode = response.getStatusLine().getStatusCode(); //statusCode==200表示请求成功. System.out.println("\nSending 'POST' request to URL : " + url); System.out.println("send paramer: "+ params); System.out.println("Response Code : " + statusCode); BufferedReader br = new BufferedReader( new InputStreamReader(response.getEntity().getContent())); StringBuffer sb = new StringBuffer(); String line = ""; while((line = br.readLine()) != null) { sb.append(line); } //System.out.println(sb.toString()); } /** * 把你的登录账号和密码设置到form里面去 * @param html * @param name 你的iTeye登录名 * @param word 你的iTeye登录密码 * @return */ private List<NameValuePair> tranParams(String html, String name, String word) { List<NameValuePair> list = new ArrayList<NameValuePair>(); //转化HTML --> document Document doc = Jsoup.parse(html); //获取ITEye登录form Element formEl = doc.getElementById("login_form"); Elements inputs = formEl.getElementsByTag("input"); //解析ITEye登录form里面的登录名和登录密码 for(Element el: inputs) { String elName = el.attr("name"); String elValue = el.attr("value"); if(elName.equals("name")) { elValue = name; }else if(elName.equals("password")) { elValue = word; } if(!elName.equals("button")) { list.add(new BasicNameValuePair(elName, elValue)); } } return list; } /** * 获取iTeye登录页面 * @param url * @return * @throws IOException * @throws ClientProtocolException */ private String getITEyePageContent(String url) throws Exception { StringBuffer result = new StringBuffer(); //设置请求信息 HttpGet request = new HttpGet(url); request.setHeader("User-Agent", USER_AGENT); request.setHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); request.setHeader("Accept-Language", "zh-CN,zh;q=0.8,en-GB;q=0.6,en;q=0.4,zh-TW;q=0.2"); //发送请求 HttpResponse response = http.execute(request); int statusCode = response.getStatusLine().getStatusCode(); //statusCode==200表示请求成功. System.out.println("\nSending 'GET' request to URL : " + url); System.out.println("Response Code : " + statusCode); //读取返回内容解析成字符串 BufferedReader br = new BufferedReader( new InputStreamReader(response.getEntity().getContent())); String line = ""; while((line = br.readLine()) != null) { result.append(line); } //设置cookie setCookies(response.getFirstHeader("Set-Cookie") == null ? "": response.getFirstHeader("Set-Cookie").toString()); return result.toString(); } /** * @return the cookid */ public String getCookies() { return cookies; } /** * @param cookid the cookid to set */ public void setCookies(String cookies) { this.cookies = cookies; } }
发表评论
-
Spring-boot集成Netty做websocket服务端
2017-06-21 13:47 19607spring-boot-websocket-netty-s ... -
spring-boot集成Springfox-Swagger2
2016-10-12 21:47 4868spring-boot-springfox sprin ... -
spring-boot集成Quartz
2016-10-09 20:40 13765spring-boot集成Quartz <depe ... -
spring-boot集成EasyUI和KindEditor
2016-09-25 12:12 3440spring-boot-easyui-kindeditor ... -
spring-boot集成sitemesh装饰器
2016-09-02 09:41 6896spring-boot-sitemesh, 依赖sprin ... -
spring-boot 代码生成工具
2016-08-17 10:38 4749Mybatis Auto Code Generation Ma ... -
spring-boot集成Freemarker开发
2016-07-10 11:38 211541.该demo功能 http://localhost/syst ... -
spring-boot集成shiro
2016-07-07 13:35 21282引用 项目启动后输入:http://localhost/ 该项 ... -
spring集成ActiveMQ, 消息提供者
2016-06-15 13:47 19831.spring集成ActiveMQ,依赖包 <de ... -
记录springmvc+ueditor1.4.3上传附件问题
2015-08-27 14:42 9222百度富文本编辑器地址:http://ueditor.baidu ... -
mvn jetty:run内存溢出解决
2014-12-08 12:22 1987maven内存溢出 apache-maven-3.1.0\b ... -
POI写入Excel下拉框[Select选项]
2014-08-14 09:45 14228记录部分方法, 操作POI POI version &l ... -
MD5,salt,SHA,PBKDF2加密
2014-06-11 23:11 15318package com.lance.utils; i ... -
设置java的JTextPane字体加粗
2014-05-16 10:14 2744package manage; import jav ... -
程序出错后,程序员给测试人员的20条高频回复
2014-02-18 22:12 840程序出错后 20. “That’ ... -
java字符全角转半角
2013-08-16 00:36 1496说明: 只为记录生活中的点点滴滴, 看到ITeye发 ... -
利用apache的poi上传excel
2013-07-22 11:34 20591.做个简单的导入excel功能, 只为记录简单demo, ... -
利用spring security控制同一个用户只能一次登陆
2013-07-18 14:04 96841.描述 最近在网上看了很多关于一个用户同时只能登陆一次问 ... -
获取System基本配置信息
2013-06-27 16:57 11841.获取基本信息 package com.foo.test ... -
java反射简单记录
2013-06-08 11:17 18231. Java 反射API的第一个主要作用是获取程序在运行 ...
相关推荐
【标题】:“模仿iteye代码高亮...总的来说,模仿iteye的代码高亮显示涉及到选择合适的库,理解其工作原理,以及根据项目需求进行定制。通过实践和学习,你可以创建一个同样优秀的代码展示环境,提升用户的阅读体验。
HttpClient提供了UrlEncodedFormEntity类来处理表单数据。我们可以创建一个NameValuePair数组,然后将其封装到HttpEntity中。 ```java NameValuePair[] formData = { new BasicNameValuePair("username", "your_...
在描述中提到的“NULL 博文链接:https://laravel.iteye.com/blog/807039”,虽然没有实际的描述内容,但提供了一个博客链接,这个链接可能包含了关于如何使用HttpClient 3来自动登录这两个网站的详细教程或代码示例...
使用HttpClient登录网易邮箱 博文链接:https://bps.iteye.com/blog/136231
在描述中提到的博客链接(由于实际无法访问,这里将根据一般HttpClient的使用情况来解释)可能包含了一些关于如何使用HttpClient的实际示例或常见问题解答。通常,这些内容会涵盖如何初始化HttpClient实例,构建请求...
描述中提到的链接指向了一个ITEYE博客文章,虽然内容没有给出,但通常这类文章会包含如何配置和使用HttpClient来发送HTTPS请求的具体步骤。在实际操作中,我们可能需要关注以下几点: 1. **导入依赖**:文件列表中...
标题中的“httpclient 获取技术博客列表”指的是使用Apache HttpClient库来获取网络上的技术博客列表。HttpClient是一个Java库,它提供了一种丰富的API来执行HTTP请求,包括GET、POST等方法,用于从网页抓取数据。在...
在这个场景中,我们看到一个与查询股票信息相关的项目,利用了HTTPClient来获取数据。让我们深入探讨一下这个话题。 首先,`HTTPClient`是Apache HttpClient项目的一部分,提供了一个强大的API来实现HTTP协议的各种...
描述中提到的链接指向了一个ITEYE博客,虽然内容未给出,但可以推测博主可能分享了关于使用HTTPClient 4.3.X的一些经验,可能包括配置,最佳实践,或者是遇到的问题及解决方案。 标签 "源码" 暗示我们可能会讨论到...
标题 "http://topkinghat.iteye.com/blog/840706" 提到的博客链接实际上指向了“姜铁”的个人博客文章,而描述中的 "NULL" 暂无具体信息。不过,标签“源码”和“工具”暗示了这篇博客可能涉及到软件开发的源代码...
在Java编程中,访问网页内容是一项常见的任务,通常我们使用HttpClient类来实现这一功能。HttpClient是Apache HttpClient库的核心类,它提供了丰富的API用于构建复杂的HTTP客户端应用。这篇博客(原文链接:...
NULL 博文链接:https://wenkaixuan.iteye.com/blog/2109590
这篇博客文章《HttpClient使用》(链接:https://leesonhomme.iteye.com/blog/491095)可能涵盖了HttpClient的基本用法和一些实用技巧。由于没有具体的描述,我们将基于HttpClient的一般知识点进行详细介绍。 1. **...
javaMD5加密及登录验证(备忘) - Hibernate - Java - ITeye论坛.mhtjavaMD5加密及登录验证(备忘) - Hibernate - Java - ITeye论坛.mhtjavaMD5加密及登录验证(备忘
NULL 博文链接:https://xiaowei-qi-epro-com-cn.iteye.com/blog/1973295