`
karvenlin
  • 浏览: 28386 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

一个简单的自动执行程序(Java,HttpClient,HttpMethod)

阅读更多
有许多的情况我们都需要自己查看一个网页,并且执行这个网页上的某个方法,比如百度的搜索,http://www.baidu.com/s?wd=google&n=2,你可以直接在地址栏中输入,也可以通过Java程序来执行这个过程:
写个示例:
public static void main(String[] args) throws Exception{
HttpClient client = new HttpClient();
client.getHostConfiguration().setHost(new HttpHost(new URI("")));//主机设置,写的是http://www.baidu.com
HttpMethod method = null;
byte[] responseBody = null;
try {
method = getPostMethod("");//设置请求URL,可以是http://www.baidu.com

client.executeMethod(method);
responseBody = method.getResponseBody();
} catch (HttpException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
method.releaseConnection();
}
System.out.println(new String(responseBody,"GBK"));
}
private static HttpMethod getPostMethod(String url){
PostMethod post = new PostMethod("/s");
NameValuePair[] values = {new NameValuePair("wd","google"),new NameValuePair("n","2")};//设置请求参数
post.setRequestBody(values);
//都是通过key和value的关系设置值
post.setRequestHeader("Host", "");
post.setRequestHeader("User-Agent","Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.2; .NET4.0C; .NET4.0E)");
post.setRequestHeader("Accept","image/jpeg, application/x-ms-application, image/gif, application/xaml+xml, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*");
post.setRequestHeader("Accept-Language", "zh-CN");
post.setRequestHeader("Accept-Encoding", "gzip,deflate");
post.setRequestHeader("Referer","");
post.setRequestHeader("Cookie", "");
post.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

return post;
}
这个过程主要的是设置请求的参数,比如说请求头和请求体,并且通过client.executeMethod的方法来执行,并且返回服务器响应的信息,可以从中提取你所需要的信息。
0
0
分享到:
评论

相关推荐

    JAVA-用HttpClient来模拟浏览器GET,POST.docx

    在上面的示例代码中,我们首先创建了一个HttpClient实例,然后设置了要访问的URL,接着创建了一个GetMethod对象,并执行了GET请求。最后,我们读取了服务器返回的响应结果,并将其输出到控制台。 在下面的章节中,...

    httpclient

    HttpClient 4.2.5是HttpClient的一个稳定版本,它引入了许多改进和修复,提高了性能和稳定性。同时,HttpClient依赖于HttpCore库,这是Apache提供的基础HTTP协议处理组件,httpcore-4.4.1.jar即为该组件的4.4.1版本...

    commons-httpclient-3.1.jar

    Apache HttpClient是一个强大的HTTP客户端实现库,主要用于构建Java应用程序,以实现对HTTP协议的全面、灵活且高效的处理。在这个专题中,我们将深入探讨Apache HttpClient 3.1的核心特性,以及如何在实际项目中有效...

    commons-httpclient,java中使用httpclient中使用的扩展工具

    Apache Commons HttpClient 是一个Java库,专门用于执行HTTP客户端请求。这个库为开发者提供了一套全面且功能强大的API,使得在Java应用程序中与HTTP服务器进行交互变得更加简单。在Java项目中,如果你需要发送GET、...

    httpClient调用webservice接口

    本文将详细介绍如何使用HttpClient来调用WebService接口,并提供一个具体的示例代码来进行解析。 #### 二、HttpClient简介 HttpClient是Apache的一个开源项目,它提供了一套丰富的API用于发送HTTP请求和接收HTTP...

    HttpClient_学习整理.

    下面是一个简单的示例代码,用于演示如何使用HttpClient获取网页内容: ```java package http.demo; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.methods.GetMethod;...

    HttpClient实现文件下载

    - **GetMethod**:用于执行GET请求的方法,是 HttpClient 中的一个类。 - **RetryHandler**:处理请求失败时的重试逻辑,默认情况下 HttpClient 会自动重试一定次数。 - **HTTP状态码**:用来表示请求的状态,如200...

    HttpClient.zip

    HttpClient是Apache基金会开发的一个Java库,用于执行HTTP请求。它为开发者提供了强大的功能,可以方便地构建复杂的HTTP操作,如GET、POST、PUT等。在Java应用中,HttpClient经常被用作与Web服务器进行交互的工具,...

    httpclient3.1 javadoc chm版

    HttpClient 是一个开源的Java库,由Apache软件基金会维护,主要用于执行HTTP请求。这个CHM(Compiled Help Manual)版本的JavaDoc文档是HttpClient 3.1版本的官方API参考,它包含了详尽的类、接口和方法的说明,为...

    HTTPClient相关jar包

    HTTPClient是Java编程中用于执行HTTP请求的一个库,它提供了丰富的功能来处理网络通信,包括GET、POST等HTTP方法,支持HTTPS,以及自定义请求头、Cookie管理等。这个压缩包包含了几个重要的JAR文件,它们是...

    commons-httpclient-2.0

    Apache Commons HttpClient 2.0 是一个历史悠久的Java HTTP客户端库,专为实现高效、灵活且可定制的HTTP通信而设计。在许多旧版系统或特定项目中,由于兼容性问题或者特定需求,仍然可能需要使用这个版本。在这个库...

    HttpClient的3个jar包httpclient.jar、logging-1.1.3.jar和codec-1.6.jar

    HttpClient是Apache基金会开发的一个HTTP客户端库,用于在Java应用程序中执行HTTP请求。它提供了丰富的功能,包括支持HTTP/1.1协议、连接管理、重定向处理、Cookie管理、身份认证等,使得开发者能够方便地与Web...

    httpClient jar

    HttpClient是Apache基金会开发的一个Java库,用于执行HTTP请求。它为开发者提供了强大的功能,可以方便地实现HTTP协议的各种操作,包括GET、POST、PUT、DELETE等HTTP方法,以及处理cookies、重定向、认证等问题。在...

    commons-httpclient-3.0-rc4.rar

    Apache Commons HttpClient 是一个高度可定制的HTTP客户端实现,支持从简单的GET请求到复杂的POST操作,包括文件上传、Cookie管理、重定向处理、HTTP认证等。它提供了一个强大的API,使得开发者能够轻松地创建、发送...

    org.apache.commons.httpclient

    Apache Commons HttpClient是一个Java库,专门用于执行HTTP请求。它是Apache软件基金会的一个子项目,为Java开发者提供了一套强大且灵活的API,以便于处理HTTP客户端编程任务。在"org.apache.commons.httpclient"这...

    httpclient相关jar包

    需要注意的是,虽然`commons-httpclient`是一个成熟的库,但随着Java生态系统的发展,现在更推荐使用Java 7及更高版本内置的`java.net.HttpURLConnection`或者现代化的HTTP客户端库,如Apache HttpClient的最新版...

    HttpClient介绍和使用文档

    以下是一个使用HttpClient简单读取网页内容的例子: ```java import java.io.IOException; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.methods.GetMethod; public ...

    httpclient jar包

    Apache HttpClient是一个开源项目,最初由Jakarta项目维护,现归于Apache HttpComponents项目。它提供了一组用于执行HTTP请求的API,支持HTTP/1.0和HTTP/1.1协议,包括基本的GET、POST等方法,以及更复杂的HTTP操作...

    httpclient 3.1 jar包 手册 源代码

    HttpClient是一个由Apache基金会开发的Java库,主要用于执行HTTP请求,实现客户端的HTTP通信。本手册将详细探讨HttpClient 3.1版本,包括其源代码分析和使用指南,帮助开发者充分利用这个强大的工具。 一、...

Global site tag (gtag.js) - Google Analytics