httpunit使用演示样例
import java.io.IOException;
import java.net.MalformedURLException; import org.xml.sax.SAXException; import com.meterware.httpunit.GetMethodWebRequest;
import com.meterware.httpunit.PostMethodWebRequest;
import com.meterware.httpunit.WebConversation;
import com.meterware.httpunit.WebForm;
import com.meterware.httpunit.WebLink;
import com.meterware.httpunit.WebRequest;
import com.meterware.httpunit.WebResponse;
import com.meterware.httpunit.WebTable; public class httpUnitTestSample { /**
* 页面内容測试
* @throws MalformedURLException
* @throws IOException
* @throws SAXException
*/
public static void testGetHtmlContent() throws MalformedURLException,
IOException, SAXException {
System.out.println("直接获取网页内容:");
// 建立一个WebConversation实例
WebConversation wc = new WebConversation();
// 向指定的URL发出请求,获取响应
WebResponse wr = wc.getResponse("http://www.baidu.com");
// 用getText方法获取对应的所有内容
// 用System.out.println将获取的内容打印在控制台上
System.out.println(wr.getText());
} /**
* 用get方法获取页面内容
* @throws MalformedURLException
* @throws IOException
* @throws SAXException
*/
public static void testGetMethod() throws MalformedURLException,
IOException, SAXException {
System.out.println("向server发送数据,然后获取网页内容:");
// 建立一个WebConversation实例
WebConversation wc = new WebConversation();
// 向指定的URL发出请求
WebRequest req = new GetMethodWebRequest(
"http://localhost:8080/test.html");
// 给请求加上參数
req.setParameter("query", "四氯化碳");
// 获取响应对象
WebResponse resp = wc.getResponse(req); // 用getText方法获取对应的所有内容
// 用System.out.println将获取的内容打印在控制台上
System.out.println(resp.getText()); } /**
* 用post方法获取页面内容
* @throws MalformedURLException
* @throws IOException
* @throws SAXException
*/
public static void testPostMethod() throws MalformedURLException,
IOException, SAXException {
System.out.println("使用Post方式向server发送数据,然后获取网页内容:");
// 建立一个WebConversation实例
WebConversation wc = new WebConversation();
// 向指定的URL发出请求
WebRequest req = new PostMethodWebRequest(
"http://localhost:8080/test.html");
// 给请求加上參数
req.setParameter("user_name", "test");
req.setParameter("password", "111111");
// 获取响应对象
WebResponse resp = wc.getResponse(req); // 用getText方法获取对应的所有内容
// 用System.out.println将获取的内容打印在控制台上
System.out.println(resp.getText());
} /**
* 获取页面链接并模拟点击
* @throws MalformedURLException
* @throws IOException
* @throws SAXException
*/
public static void testClickLink() throws MalformedURLException,
IOException, SAXException {
System.out.println("获取页面中链接指向页面的内容:");
// 建立一个WebConversation实例
WebConversation wc = new WebConversation();
// 获取响应对象
WebResponse resp = wc.getResponse("http://www.265.com/");
// 获得页面链接对象
WebLink link = resp.getLinkWith("百度");
// 模拟用户单击事件
link.click();
// 获得当前的响应对象
WebResponse nextLink = wc.getCurrentPage(); // 用getText方法获取对应的所有内容
// 用System.out.println将获取的内容打印在控制台上
System.out.println(nextLink.getText()); } /**
* 获取页面内容的table内容
* @throws MalformedURLException
* @throws IOException
* @throws SAXException
*/
public static void testTableContent() throws MalformedURLException,
IOException, SAXException {
System.out.println("获取页面中表格的内容:");
// 建立一个WebConversation实例
WebConversation wc = new WebConversation();
// 获取响应对象
WebResponse resp = wc
.getResponse("http://www.w3school.com.cn/tiy/loadtext.asp?f=html_table_test"); System.out.println(resp.getText());
// 获得对应的表格对象
WebTable webTable = resp.getTables()[0];
// 将表格对象的内容传递给字符串数组
String[][] datas = webTable.asText();
// 循环显示表格内容
int i = 0, j = 0;
int m = datas[0].length;
int n = datas.length;
while (i < n) {
j = 0;
while (j < m) {
System.out.println("表格中第" + (i + 1) + "行第" + (j + 1) + "列的内容是:"
+ datas[i][j]);
++j;
}
++i;
}
} /**
* 获取页面的表单控件内容
* @throws MalformedURLException
* @throws IOException
* @throws SAXException
*/
public static void testHtmlContentForm() throws MalformedURLException,
IOException, SAXException {
System.out.println("获取页面中表单的内容:");
// 建立一个WebConversation实例
WebConversation wc = new WebConversation();
// 获取响应对象
WebResponse resp = wc.getResponse("http://www.w3school.com.cn/tiy/t.asp?f=html_table_test"); System.out.println(resp.getText());
// 获得对应的表单对象
WebForm webForm = resp.getForms()[0];
// 获得表单中所有控件的名字
String[] pNames = webForm.getParameterNames();
int i = 0;
int m = pNames.length;
// 循环显示表单中所有控件的内容
while (i < m) {
System.out.println("第" + (i + 1) + "个控件的名字是" + pNames[i] + ",里面的内容是"
+ (webForm.getParameterValues(pNames[i])));
++i;
}
} public static void main(String[] args) throws MalformedURLException,
IOException, SAXException {
// testGetHtmlContent();
// testGetMethod();
// testPostMethod();
// testClickLink();
// testTableContent();
testHtmlContentForm();
} }
httpunit使用演示样例的更多相关文章
- JDBC连接MySQL数据库及演示样例
JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识 JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...
- java 覆盖hashCode()深入探讨 代码演示样例
java 翻盖hashCode()深入探讨 代码演示样例 package org.rui.collection2.hashcode; /** * 覆盖hashcode * 设计HashCode时最重要 ...
- 模式识别 - 处理多演示样例学习(MIL)特征(matlab)
处理多演示样例学习(MIL)特征(matlab) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/27206325 多演示样例学习( ...
- java并行调度框架封装及演示样例
參考资料: 阿里巴巴开源项目 CobarClient 源代码实现. 分享作者:闫建忠 分享时间:2014年5月7日 ---------------------------------------- ...
- Java连接redis的使用演示样例
Java连接redis的使用演示样例 Redis是开源的key-value存储工具,redis通经常使用来存储结构化的数据,由于redis的key能够包括String.hash.listset和sor ...
- Introspector(内省)简单演示样例 与 简单应用
简单演示样例: package com.asdfLeftHand.test; import java.beans.BeanDescriptor; import java.beans.BeanInfo; ...
- libcurl使用演示样例
简要说明:C++使用libcurl訪问"www.baidu.com".获取返回码和打印出http文件 /* * @ libcurl使用演示样例 * @ 2014.04.29 * @ ...
- 构造Scala开发环境并创建ApiDemos演示样例项目
从2011年開始写Android ApiDemos 以来.Android的版本号也更新了非常多,眼下的版本号已经是4.04. ApiDemos中的样例也添加了不少,有必要更新Android ApiDe ...
- OpenCV LDA(Linnear Discriminant analysis)类的使用---OpenCV LDA演示样例
1.OpenCV中LDA类的声明 //contrib.hpp class CV_EXPORTS LDA { public: // Initializes a LDA with num_componen ...
随机推荐
- Linux宕机最安全的重启方法(你肯定不知道)
Linux 内核虽然号称“不死族”,几乎不会崩溃或者死机,但是特殊情况下,还是有一定几率会宕机的.因为 Linux 广泛用于生产环境,所以每一次宕机都会引起相当大的损失.本文介绍在它死机至后,一种温柔 ...
- GDKOI2015 Day1
P1 题目描述: 判断一个环形字符串(或者减去一个字符之后)是否是回文串 solution: 1.hash 将字符串的前缀进行hash,然后将字符串翻转,再做一次hash,然后枚举对称轴,判断两边的h ...
- 【菜鸟学习Linux】-第一章-Linux环境搭建-安装VMware虚拟机
本人菜鸟一个,刚毕业才上班2个月,现在用到Linux部署项目,这才开始学习Linux,以下是我在安装Linxu系统是遇到的一些问题,希望能给广大菜鸟们在学习的道路上提供帮助和指导,废话不多说!开工! ...
- Android牛博
Android实现伸缩弹力分布菜单效果 摘要: 本文介绍下在Android中实现伸缩弹力分布菜单效果.关于这种菜单效果在IPhone中比较常见,效果比较酷.那么在Android中实现只是一种简单的模仿 ...
- 使用Vitamio打造自己的Android万能播放器(7)——在线播放(下载视频)
前言 本章将实现非常实用的功能——下载在线视频.涉及到多线程.线程更新UI等技术,还需思考产品的设计,如何将新加的功能更好的融入到现有的产品中,并不是简单的加一个界面就行了,欢迎大家交流产品设计和技术 ...
- C#中var关键字【转】
[转]http://blog.csdn.net/courageously/article/details/5695626 var关键字是C# 3.0开始新增的特性,称为推断类型 . 可以赋予局部变量推 ...
- Asp.net 获取服务器指定文件夹目录文件,并提供下载
string dirPath = HttpContext.Current.Server.MapPath("uploads/"); if (Directory.Exists(dirP ...
- Javascript/Jquery 中each() 和forEach()的区别
从名字看上去这两个方法好像有点关系,但在javascript中它们区别还是挺大的. forEach() 用于数组的操作,对数组中的每个元素执行制定的函数(不是数组不能使用forEach()方法). 而 ...
- 保护眼睛,绿豆沙颜色的RGB值和HSL值
现在的人尤其是职场中人,每天都得花很长时间对着电脑,对眼睛的伤害很大,其实我们可以对电脑进行一个简单的设置,把窗口背景设置成绿豆沙颜色的,对眼睛的保护很有帮助的. 下面是绿豆沙颜色的RGB值和HSL值 ...
- Convert Sorted Array to Balanced Binary Search Tree (BST)
(http://leetcode.com/2010/11/convert-sorted-array-into-balanced.html) Given an array where elements ...