利用httpclient 模拟登录,获取登录后信息数据
来源:互联网 发布:淘宝阅读官网 编辑:程序博客网 时间:2024/05/02 09:31
本例使用httpclient 3.0.jar
package test;import org.apache.commons.httpclient.Cookie;import org.apache.commons.httpclient.HttpClient;import org.apache.commons.httpclient.cookie.CookiePolicy;import org.apache.commons.httpclient.NameValuePair;import org.apache.commons.httpclient.methods.GetMethod;import org.apache.commons.httpclient.methods.PostMethod;/** * @author 作者 :chenzenan E-mail:chen.ze.nan@163.com * @version 创建时间:2012-8-10 下午04:35:48 Copyright ? 2012-8-10 Shanghai XXX Co. * Ltd. All right reserved. */public class HttpClientLogin {public static void main(String[] args) {// 登陆 UrlString loginUrl = "http://localhost/login.jsp";// 需登陆后访问的 UrlString dataUrl = "http://localhost/applyopen/printApprize.jsp?iid=1516";HttpClient httpClient = new HttpClient();// 模拟登陆,按实际服务器端要求选用 Post 或 Get 请求方式PostMethod postMethod = new PostMethod(loginUrl);// 设置登陆时要求的信息,用户名和密码NameValuePair[] data = { new NameValuePair("name", "admin"),new NameValuePair("password", "123456") };postMethod.setRequestBody(data);try {// 设置 HttpClient 接收 Cookie,用与浏览器一样的策略httpClient.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);httpClient.executeMethod(postMethod);// 获得登陆后的 CookieCookie[] cookies = httpClient.getState().getCookies();StringBuffer tmpcookies = new StringBuffer();for (Cookie c : cookies) {tmpcookies.append(c.toString() + ";");}// 进行登陆后的操作1581,1602,1603,1610,1609,1608,1607,1606,1605,1620,1619,1617,1616,1622,1626,1642,1648,1647,1657GetMethod getMethod = new GetMethod(dataUrl);// 每次访问需授权的网址时需带上前面的 cookie 作为通行证getMethod.setRequestHeader("cookie", tmpcookies.toString());// 你还可以通过 PostMethod/GetMethod 设置更多的请求后数据// 例如,referer 从哪里来的,UA 像搜索引擎都会表名自己是谁,无良搜索引擎除外postMethod.setRequestHeader("Referer", "http://www.cc");postMethod.setRequestHeader("User-Agent", "www Spot");httpClient.executeMethod(getMethod);// 打印出返回数据,检验一下是否成功String text = getMethod.getResponseBodyAsString();System.out.println(text);} catch (Exception e) {e.printStackTrace();}}}
- 利用httpclient 模拟登录,获取登录后信息数据
- 利用httpclient 模拟登录,获取登录后信息数据
- 利用httpclient 模拟登录,获取登录后信息数据
- java爬虫--免登录,通过httpclient模拟登录并获取登录后的信息
- 用HttpClient模拟登录网站一(获取网页信息)
- 用HttpClient模拟登录网站二(获取网页信息)
- HttpClient 实例模拟登录 查询数据
- httpClient自动登录获取登录后的页面
- Apache HttpClient模拟登录
- java httpclient 模拟登录
- httpClient模拟新浪登录
- httpclient模拟登录
- Apache HttpClient模拟登录
- Apache HttpClient模拟登录
- httpclient模拟登录
- 使用httpclient模拟登录
- 使用httpclient模拟登录
- 使用cookiejar模拟登录微博,获取登录后的页面数据
- 推箱子游戏开发(一) surfaceView 实现动画效果
- 如何使用iOS开发者授权以及如何申请证书
- 你愿意当淘宝店主吗?
- FMDB
- 关于Content-Length
- 利用httpclient 模拟登录,获取登录后信息数据
- CF-13D - Two Paths(搜索)
- 程序员成长为架构师必备的十项技能
- 设计模式 - 模板方法模式
- linux 终端设备:系统终端设备
- 升级到ubuntu 12.10 记录
- 【Linux】Ubuntu下C语言访问MySQL数据库入门
- 推箱子游戏开发(二) 键盘事件监听 角色在屏幕上移动
- Memory Alignment