`

htmlunit模拟sso登陆

    博客分类:
  • java
阅读更多
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
import com.gargoylesoftware.htmlunit.HttpMethod;
import com.gargoylesoftware.htmlunit.TextPage;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.WebRequest;
import com.gargoylesoftware.htmlunit.html.HtmlForm;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
import com.gargoylesoftware.htmlunit.util.NameValuePair;

public class SSO1 {
	public static void main(String[] args)
			throws FailingHttpStatusCodeException, MalformedURLException,
			IOException {
		// 创建浏览器,可以选择IE、FF等等
		WebClient client = new WebClient(BrowserVersion.FIREFOX_3_6);

		// 获取某网站页面
		URL url = new URL("http://xxxxxx.com:8082/rest/tickets");
		WebRequest webRequest = new WebRequest(url, HttpMethod.POST);
		List<NameValuePair> reqParam = new ArrayList<NameValuePair>();

		reqParam.add(new NameValuePair("username", "xxxx"));
		reqParam.add(new NameValuePair("password", "xxxx"));

		webRequest.setRequestParameters(reqParam);
		HtmlPage mypage = (HtmlPage) client.getPage(webRequest);
		mypage.getElementByName("service").setAttribute("value",
				"http://zzzzz.com/bbbb/index.action");

		HtmlForm form = mypage.getForms().get(0);
		TextPage page = ((HtmlSubmitInput) form.getElementsByAttribute("input",
				"type", "submit").get(0)).click();
		
		String ticket = page.getContent();
		
		url = new URL("http://zzzzz.com/bbbb/index.action");
		webRequest = new WebRequest(url, HttpMethod.POST);
		
		reqParam = new ArrayList<NameValuePair>();
		reqParam.add(new NameValuePair("ticket", ticket));
		webRequest.setRequestParameters(reqParam);

		mypage = (HtmlPage) client.getPage(webRequest);
		
		System.out.println(mypage.asXml());
		
	}
}


分享到:
评论
3 楼 asialee 2012-04-11  
就是根据contentType的不同会创建不同的Page
text/html HtmlPage
text/* TextPage
2 楼 asialee 2012-04-11  
jccmjl 写道
你好,我是htmlunit使用者,在使用中我遇见了一个问题 textpage 和htmlpage什么区别,在中我要做的就是根据一个请求返回一个结果...不知

道如何做!!!!朋友可以的话联系我下,我的QQ 是452276647,邮箱:jccmjl@163.com  万分感谢!!!

好的,我的qq: 327379252
1 楼 jccmjl 2012-04-11  
你好,我是htmlunit使用者,在使用中我遇见了一个问题 textpage 和htmlpage什么区别,在中我要做的就是根据一个请求返回一个结果...不知

道如何做!!!!朋友可以的话联系我下,我的QQ 是452276647,邮箱:jccmjl@163.com  万分感谢!!!

相关推荐

    htmlunit模拟cookie登录

    htmlunit 模拟cookie 存取 cookie值登录 如: wsyyuser.xywy.com Cookie c = new Cookie("wsyyuser.xywy.com", "PHPSESSID", Common.getValue("session_id") );

    htmlunit java版无界面浏览器 网页自动登录

    htmlunit java版无界面浏览器 实现网页自动登录利器 官方最新下载 htmlunit 是一款开源的java 页面分析工具,...项目可以模拟浏览器运行,被誉为java浏览器的开源实现。这个没有界面的浏览器,运行速度也是非常迅速的。

    JAVA使用HtmlUnit爬虫工具模拟登陆CSDN案例

    今天小编就为大家分享一篇关于JAVA使用HtmlUnit爬虫工具模拟登陆CSDN案例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    htmlunit最新版2.18含api文档

    使用htmlunit模拟浏览器所需要的jar包都在里面,下载好了,全部解压,全部导入进去就行了

    htmlUnit所需jar包

    htmlUnit所需工具包,htmlUnit,htmlUnit,htmlUnit,htmlUnit,htmlUnit

    Htmlunit2.23-bin.zip

    htmlunit jar zip 2.23 用于html爬虫

    htmlunit下载资源示例

    通过htmlunit 下载网站资源的简单示例 htmlunit 是一款开源的java 页面分析工具,读取页面后,可以有效的使用htmlunit分析页面上的内容。 项目可以模拟浏览器运行,被誉为java浏览器的开源实现。是一个没有界面的...

    htmlunit2.8.jar

    htmlunit2.8.jar

    htmlunit-2.1.5源码

    htmlunit-2.1.5的源码,可以提高我们对htmlunit的理解

    htmlunit-2.14

    java 开发 htmlunit官方jar包和api文档

    htmlunit2.8

    HtmlUnit 将返回文档模拟成 HTML,这样您便可以直接处理这些文档了。HtmlUnit 使用例如 table、form 等标识符将测试文档作为 HTML 来处理。它同样需要遵循 JUnit 测试框架结构的 Java™ 测试程序。 解压后将lib目录...

    htmlunit-2.19-bin

    htmlunit-2.19-bin

    htmlunit-2.33-API文档-中英对照版.zip

    赠送jar包:htmlunit-2.33.jar; 赠送原API文档:htmlunit-2.33-javadoc.jar; 赠送源代码:htmlunit-2.33-sources.jar; 赠送Maven依赖信息文件:htmlunit-2.33.pom; 包含翻译后的API文档:htmlunit-2.33-javadoc-...

    htmlunit用到的jar包

    htmlunit用到的jar包htmlunit用到的jar包htmlunit用到的jar包

    htmlunit依赖jar包

    htmlunit爬虫工具,Java所需的依赖jar包,凑够50个字符

    htmlunit包

    htmlunit包

    htmlunit爬虫.rar

    htmlunit爬虫,基于Javahtmlunit爬虫,模拟浏览器HTTP请求实现对网页信息的抓取,本人经常用的框架,可以爬网上一些数据,进行分析。

    htmlunit-2.49.1-API文档-中文版.zip

    赠送jar包:htmlunit-2.49.1.jar; 赠送原API文档:htmlunit-2.49.1-javadoc.jar; 赠送源代码:htmlunit-2.49.1-sources.jar; 赠送Maven依赖信息文件:htmlunit-2.49.1.pom; 包含翻译后的API文档:htmlunit-2.49....

    htmlunit2.9

    htmlunit2.9all full jar

    htmlunit所需要jar包

    htmlunit所需要的所有的jar,亲测可用,包含htmlunit,htmlunit-core-js等等

Global site tag (gtag.js) - Google Analytics