java 模拟浏览器解析_java 模拟浏览器

现在需要用java模拟浏览器  去偷点数据来   有验证码登陆的

先简单的看了一下  有 HttpURLConnection 和HttpClient

再细看看HttpURLConnection 挺难弄的,决定从HttpClient入手

但是在eclipse的工程里面引入 httpclient包

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

问题待续--------------------------------

知道原因所在了 还少了logging的包 反正一共是三个包 少一个都不行 部署完毕 测试运行ok

看了一些别人的学习笔记    思路是

1 打开登陆的页面  获取附加码

2 将各个参数传入 登陆成功

3 打开需要查询的界面,余下就是时间参数的转换啦

/*

* Created on 2010-12-2

*

* TODO To change the template for this generated file go to

* Window - Preferences - Java - Code Style - Code Templates

*/

package com.Browser.bean;

import org.apache.commons.httpclient.*;

import org.apache.commons.httpclient.cookie.*;

import org.apache.commons.httpclient.methods.*;

/**

* 用来演示登录表单的示例

* @author Liudong

*/

public class FormLoginDemo {

public static void main(String[] args) throws Exception{

HttpClient client = new HttpClient();

client.getHostConfiguration().setHost( "XXXXX.XXXXXX.net" , 80,"http");

/********打开登陆页面*获取附加码**********/

HttpMethod method = new GetMethod("/");

int status = client.executeMethod(method);

String temp= method.getResponseBodyAsString();

int FuJiaMaInt = temp.indexOf("");

String FuJiaMa = temp.substring(FuJiaMaInt+26,FuJiaMaInt+30);

System.out.println("FuJiaMa:"+FuJiaMa);

method.releaseConnection();

/*********输入参数*登陆*******/

method = new GetMethod("/checkuser.jsp?acc_loginname=XXXX&acc_password=XXXX&checkCode="+FuJiaMa);

status = client.executeMethod(method);

System.out.println(method.getResponseBodyAsString());

method.releaseConnection();

// 访问所需的页面 main2.jsp

method =new GetMethod("/assess/main2.jsp ?zt=1291172382&date=2010-12-01");

client.executeMethod(method);

System.out.println(method.getResponseBodyAsString());

method.releaseConnection();

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值