希望大家给点提示,先谢谢了! 我要用程序登陆到一个网站(知道用户名和密码);然后把固定页面的数据下载下来,我该怎么办,除了用httpunit以外还有其他的办法吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 1.直接FTP到 网站的空间,把否个目录下的某个文件下载下来就行了2.URLCONNECTION和HTTP交互,得到数据生成文件3.SOCKET +URL,下载某些文件 如果你不是为了练习,你可以先登录,然后用SuperHTTP下载。它可以保持原有的存放顺序。 去看看那些网页Spider怎么实现的好了我想用工具是最方便的,自己实现可能有难度... 用HttpClient就可以了呀~public static void testClient(){ HttpClient client = new HttpClient(); PostMethod method = new PostMethod("你的url"); Part[] parts = { new StringPart("logname","aaa"), new StringPart("logpwd","bbb") }; method.setRequestEntity(new MultipartRequestEntity(parts, method.getParams())); try{ int status = client.executeMethod(method); if (status == HttpStatus.SC_OK){ String resource = method.getResponseBodyAsString(); System.out.println(resource); }else{ System.out.println("读取网页失败Code=[" + status + "]!"); } }catch(Exception e){ e.printStackTrace(); } }其中:Part[] parts = { new StringPart("logname","aaa"), new StringPart("logpwd","bbb") };是存放你的用户帐号和密码的,具体参数名你要从网页上找;如果网页上还有其他参数,也一同加进来,不然很可能登陆失败~注意:用commons-httpclient-3.0.1.jar的时候,另外4个也少不了commons-logging-adapters-1.1.jar,commons-logging-api-1.1.jar,commons-logging-1.1.jar,commons-codec-1.3.jar,apache官方网站都有下,用最新版就可以了。 谢谢提示,可是网站比较复杂,登陆后要输入 查询条件,里面有框架页什么的,不知道HttpClient是否可用,是不是 支持 javascript 脚本 如果网页的参数比较复杂的话,那你就要费功夫找出所需要的参数,javascript只是控制网页的,你只要找到它的最终目的和所用参数,跳过它就可以了,一般的网页用HttpClient都没什么问题的,但前提是你要找准最终的url和它的参数。 请问一个jtable的数据更新问题!请高手指点! [讨论]java - SEO 顶者有份,可追加 大哥大姐帮帮忙 linux下java运行慢 一个关于JSP连接SQL server的问题 请教一个nio的问题。 请问这道题选什么,为什么? 有熟悉URL及URLConnection类的使用的大虾吗?帮帮忙? 请高手解答 是否有在Dos6.22平台下的Java虚拟机? 一个白痴问题,但路见不平,拔刀相助,谢谢 int.class的问题
2.URLCONNECTION和HTTP交互,得到数据生成文件
3.SOCKET +URL,下载某些文件
HttpClient client = new HttpClient();
PostMethod method = new PostMethod("你的url");
Part[] parts = { new StringPart("logname","aaa"), new StringPart("logpwd","bbb") };
method.setRequestEntity(new MultipartRequestEntity(parts, method.getParams()));
try{
int status = client.executeMethod(method);
if (status == HttpStatus.SC_OK){
String resource = method.getResponseBodyAsString();
System.out.println(resource);
}else{
System.out.println("读取网页失败Code=[" + status + "]!");
}
}catch(Exception e){
e.printStackTrace();
}
}
其中:
Part[] parts = { new StringPart("logname","aaa"), new StringPart("logpwd","bbb") };
是存放你的用户帐号和密码的,具体参数名你要从网页上找;如果网页上还有其他参数,也一同加进来,不然很可能登陆失败~
注意:用commons-httpclient-3.0.1.jar的时候,另外4个也少不了commons-logging-adapters-1.1.jar,commons-logging-api-1.1.jar,commons-logging-1.1.jar,commons-codec-1.3.jar,apache官方网站都有下,用最新版就可以了。