Webclent基本操作

时间:2022-09-02 19:38:02
/**
* @Title: webclientTest.java
* @Package webclient
* @Description: TODO(用一句话描述该文件做什么)
* @author A18ccms A18ccms_gmail_com
* @date 2016年8月30日 下午3:52:41
* @version V1.0
*/
package webclient; import java.io.IOException;
import java.net.MalformedURLException; import org.jsoup.Jsoup;
import org.jsoup.nodes.Document; import com.gargoylesoftware.htmlunit.BrowserVersion;
import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlButton;
import com.gargoylesoftware.htmlunit.html.HtmlForm;
import com.gargoylesoftware.htmlunit.html.HtmlPage; /**
* @ClassName: webclientTest
* @Description: Webclent基本操作
* @author zeze
* @date 2016年8月30日 下午3:52:41
*
*/
public class webclientTest { /**
*
* @Title: main
* @param @param
* args 设定文件
* @return void 返回类型
*/
public static void main(String[] args) {
// TODO Auto-generated method stub WebClient webClient = new WebClient(BrowserVersion.CHROME);
webClient.getOptions().setTimeout(20000);
webClient.getCookieManager().setCookiesEnabled(true);
webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.getOptions().setCssEnabled(false);
webClient.getOptions().setJavaScriptEnabled(false);
webClient.addRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) "
+ "AppleWebKit/537.36 (KHTML, like Gecko) " + "Chrome/43.0.2357.134 Safari/537.36");
webClient.addRequestHeader("Accept",
"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
webClient.addRequestHeader("Accept-Encoding", "gzip, deflate, sdch");
webClient.addRequestHeader("Accept-Language", "zh-CN,zh;q=0.8");
webClient.addRequestHeader("Connection", "keep-alive");
webClient.addRequestHeader("Host", "www.cnblogs.com");
// webClient.addRequestHeader("", "");
HtmlPage page = null;
try {
String Url = "http://www.cnblogs.com/zeze";
page = webClient.getPage(Url);
Document doc = Jsoup.parse(page.asXml());
System.out.println(doc);
while (doc.select("title").text().equals("Robot Check")) {
HtmlForm form = page.getForms().get(0);
HtmlButton button = (HtmlButton) form.getElementsByTagName("button").get(0);
form.getInputByName("field-keywords").setValueAttribute("");
doc = Jsoup.parse(page.asXml());
try {
page = button.click();
} catch (IOException e1) {
e1.printStackTrace();
}
}
} catch (FailingHttpStatusCodeException e) { } catch (MalformedURLException e) { } catch (IOException eq) { }
} }

Webclent基本操作的更多相关文章

  1. Key/Value之王Memcached初探:二、Memcached在.Net中的基本操作

    一.Memcached ClientLib For .Net 首先,不得不说,许多语言都实现了连接Memcached的客户端,其中以Perl.PHP为主. 仅仅memcached网站上列出的语言就有: ...

  2. Android Notification 详解(一)——基本操作

    Android Notification 详解(一)--基本操作 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 源码:AndroidDemo/Notification 文中如有纰 ...

  3. Android Notification 详解——基本操作

    Android Notification 详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 前几天项目中有用到 Android 通知相关的内容,索性把 Android Notificatio ...

  4. 三、Redis基本操作——List

    小喵的唠叨话:前面我们介绍了Redis的string的数据结构的原理和操作.当时我们提到Redis的键值对不仅仅是字符串.而这次我们就要介绍Redis的第二个数据结构了,List(链表).由于List ...

  5. 二、Redis基本操作——String(实战篇)

    小喵万万没想到,上一篇博客,居然已经被阅读600次了!!!让小喵感觉压力颇大.万一有写错的地方,岂不是会误导很多筒子们.所以,恳请大家,如果看到小喵的博客有什么不对的地方,请尽快指正!谢谢! 小喵的唠 ...

  6. 一、Redis基本操作——String(原理篇)

    小喵的唠叨话:最近京东图书大减价,小喵手痒了就买了本<Redis设计与实现>[1]来看看.这里权当小喵看书的笔记啦.这一系列的模式,主要是先介绍Redis的实现原理(可能很大一部分会直接照 ...

  7. Linq查询基本操作

    摘要:本文介绍Linq查询基本操作(查询关键字) - from 子句 - where 子句 - select子句 - group 子句 - into 子句 - orderby 子句 - join 子句 ...

  8. C&plus;&plus; map的基本操作和使用

    原文地址:http://blog.sina.com.cn/s/blog_61533c9b0100fa7w.html Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可 ...

  9. python之最强王者(10)———文件&lpar;File&rpar;、输入输出的基本操作

    1. Python 文件I/O 本章只讲述所有基本的的I/O函数,更多函数请参考Python标准文档. 2.打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式. ...

随机推荐

  1. Leetcode 60&period; Permutation Sequence

    The set [1,2,3,-,n] contains a total of n! unique permutations. By listing and labeling all of the p ...

  2. Beta阶段第七次Scrum Meeting

    Beta阶段第七次Scrum Meeting 情况简述 BETA阶段第七次Scrum Meeting 敏捷开发起始时间 2016/12/20 00:00 敏捷开发终止时间 2016/12/21 00: ...

  3. ros下多机器人系统&lpar;1&rpar;

    multi-robot system 经过两个多月的ros学习,对ros的认识有了比较深入的了解,本篇博客主要记录在ros下开发多机器人系统以及对ros更深入的开发.本篇博客是假定读者已经学习完了全部 ...

  4. php5调用web service

    工作中需要用php调用web service接口,对php不熟,上网搜搜,发现关于用php调用web service的文章也不多,不少还是php4里用nusoap这个模块调用的方法,其实php5里已经 ...

  5. PHP中该怎样防止SQL注入?

    因为用户的输入可能是这样的: ? 1 value'); DROP TABLE table;-- 那么SQL查询将变成如下: ? 1 INSERT INTO `table` (`column`) VAL ...

  6. Wp8开发环境搭建总结

    原地址:http://blog.csdn.net/lixing732100721/article/details/8564985 注意:技术发展太快  此文章年代已久  请大家酌情参照 系统要求(来自 ...

  7. mooc

    Coursera 课程来源 2014年前已与斯坦福.普林斯顿等近90所大学和教育机构达成合作关系. 用户类型 主要类别为学生.求职者.公司人.其中,求职者可在Coursera上获得<成就报告&g ...

  8. HDU 3065 AC自动机 裸题

    中文题题意不再赘述 注意 失配数组 f  初始化一步到位 #include <stdio.h> #include <string.h> #include <queue&g ...

  9. php中的curl常用例子

    1.基本请求 <?php $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://www.baidu.com"); ...

  10. 从壹开始前后端分离 &lbrack; Vue2&period;0&plus;&period;NET Core2&period;1&rsqb; 十七 &boxV;Vue基础:使用Vue&period;js 来画博客首页&plus;指令&lpar;一&rpar;

    缘起 书说前两篇文章<十五 ║ Vue前篇:JS对象&字面量&this>和 <十六 ║ Vue前篇:ES6初体验 & 模块化编程>,已经通过对js面向对 ...