`

Java中访问页面的HttpClient类

    博客分类:
  • Java
阅读更多

详见:

http://msnvip.iteye.com/blog/261159

 

公司使用单点登陆的时候, 需要在程序中提交用户名,密码到SSO服务器,并且返回ticket的数据信息。来实现登陆。

并且返回给IM系统。

其实这个和ASP里面的抓取数据的代码也比较像。

JAVA中,使用 HttpClient 类来实现这个功能。

首先要导入几个包:

commons-logging-1.1.1-bin

commons-codec-1.3.jar

commons-httpclient-3.1

 

可以在附件下载工程。

 

在程序中设置好地址, 端口,就可以访问返回的数据了 。

 

比较简便的代码:

 

         String associationListUrl=BackendConstants.CLUB_CREATE_URL;

         //associationListUrl = http://club.woyo.com/api/club-creat.action
         HttpClient client = new HttpClient();
         PostMethod method = new PostMethod(associationListUrl);


         method.addParameter("blockId",33005+"");       //频道子板块ID
         method.addParameter("categoryId",14+"");       //社团通用分类ID


         try {
            client.executeMethod(method);
         } catch (HttpException e) {
            throw new Exception("创建商会失败!连接失败: " + e.getMessage());
         } catch (IOException e) {
            throw new Exception("创建商会失败!连接失败: " + e.getMessage());
         }
         
         String returnJson = "";
         try {
            returnJson = method.getResponseBodyAsString();;
            System.out.println("------------------getCreateClub--------------------returnStr--" + returnJson);
            String strJson = returnJson.replace("?(", "").replace(")", "").replace(";", "");
            System.out.println("--------------------------------------strJson--" + strJson);

} catch (IOException e) {
            throw new Exception("创建商会失败!" + e.getMessage());
         }finally{
            //使用完成后要释放链接
            method.releaseConnection();
         }

 

 

 

 

 

 

 

/*

 * Created on 2003-12-7 by Liudong

 */

package http.demo;

 

import java.io.IOException;

 

import org.apache.commons.httpclient.*;

import org.apache.commons.httpclient.methods.*;

/**

 * 提交参数演示

 * 该程序连接到一个用于查询手机号码所属地的页面

 * 以便查询号码段1330227所在的省份以及城市

 * @author Liudong

 */

public class SimpleHttpClient {

 

    public static void main(String[] args) throws IOException

    {

        HttpClient client = new HttpClient();

        client.getHostConfiguration().setHost("www.imobile.com.cn", 80, "http");

 

        HttpMethod method = getPostMethod();//使用POST方式提交数据

        client.executeMethod(method);

       //打印服务器返回的状态

        System.out.println(method.getStatusLine());

        //打印结果页面

        String response =

           new String(method.getResponseBodyAsString().getBytes("8859_1"));

       //打印返回的信息

        System.out.println(response);

        method.releaseConnection();

    }

    /**

     * 使用GET方式提交数据

     * @return

     */

    private static HttpMethod getGetMethod(){

        return new GetMethod("/simcard.php?simcard=1330227");

    }

    /**

     * 使用POST方式提交数据

     * @return

     */

    private static HttpMethod getPostMethod(){

        PostMethod post = new PostMethod("/simcard.php");

        NameValuePair simcard = new NameValuePair("simcard","1330227");

        post.setRequestBody(new NameValuePair[] { simcard});

        return post;

    }

}

 

分享到:
评论

相关推荐

    Java爬虫Jsoup+httpclient获取动态生成的数据

    本文主要讲述如何利用Java编程语言中的Jsoup库和HttpClient工具包来获取和解析动态生成的数据,特别是那些通过JavaScript动态加载的数据。 ### Java爬虫基础 Java爬虫是指使用Java语言编写的一类程序,这些程序...

    java httpclient 模拟登录

    在"java httpclient 模拟登录"这个场景下,我们通常会用到HttpClient来模拟用户登录网站的过程,获取登录后的session信息,以便后续能够访问登录后才能看到的页面内容。以下将详细介绍如何使用Java HttpClient进行...

    java使用HttpClient通过url下载文件到本地

    在Eclipse中使用HttpClient,首先需要将相关的jar包添加到项目的类路径中。这些jar包通常包括`httpclient`, `httpcore`, `httpmime`等,确保HttpClient库的所有依赖都已包含。 3. **下载文件的基本步骤**: - **...

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

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

    httpclient

    2. **登录和cookie管理**:处理登录过程,保存和发送cookie,以便于访问需要登录的页面。 3. **模拟浏览器行为**:设置User-Agent,处理JavaScript,支持cookies,模仿真实用户的行为。 4. **反反爬策略**:应对...

    彻底解决httpClient乱码问题

    在IT行业中,网络请求是应用程序与服务器交互的重要方式,而HttpClient是Java开发中常用的一款HTTP客户端库。然而,处理HTTP响应时,特别是涉及到文本内容时,乱码问题常常困扰着开发者。本文将深入探讨如何使用...

    httpUtil httpclient 登陆携带cookie访问下一个连接

    在这个过程中,`HttpUtil.java`可能是一个自定义的工具类,包含了使用`httpclient`进行HTTP操作的实用方法。它可能会包含创建`HttpClient`、构建请求、解析响应等功能,简化了代码的复用和维护。 总之,`httpclient...

    HttpClient_学习整理.

    对于那些希望通过HTTP协议访问网络资源的Java应用程序而言,HttpClient提供了更为丰富和灵活的功能。 在Java标准库`java.net`包中虽然包含了基本的HTTP访问功能,但对于更复杂的应用场景,标准库提供的功能往往不够...

    HttpClient登录

    在文件名列表中的"photo163"可能是网易相册的某种标识,如果这是登录后访问的资源,你可能需要在登录成功后,使用相同的`HttpClient`实例来发送新的GET请求获取资源。 总的来说,HttpClient提供了一套强大的工具来...

    HttpClient介绍和使用文档

    例如,当需要访问需要用户登录或认证的页面时,HttpClient可以方便地管理COOKIE,模拟浏览器的行为。在处理文件上传的问题上,HttpClient也提供了便捷的方法,使得开发者可以轻松地发送POST请求并附带文件数据。 ...

    httpclient如何保持session会话模拟登录后的操作

    6. **设置Cookie处理器**: 创建CookieStore和CookieSpecRegistry,将获取到的session ID设置到CookieStore中,并将CookieSpecRegistry设置到HttpClient中。 ```java CookieStore cookieStore = new ...

    爬虫:httpclient+jsoup

    本文将详细探讨使用Java中的两种库——HttpClient和Jsoup,以及它们结合使用来构建网页爬虫的方法。 HttpClient是Apache软件基金会的一个项目,提供了对HTTP协议的全面支持,包括请求/响应模型、连接管理、重定向...

    使用HttpClient获取网页html源代码.zip

    在Android Studio中,由于早期版本的HttpClient已被弃用,因此需要添加依赖: ```xml dependencies { implementation 'org.apache.httpcomponents:httpclient-android:4.3.5.1' } ``` 接下来,我们创建一个...

    Java抓取https网页数据

    Java抓取https网页数据,解决peer not authenticated异常。导入eclipse就能运行,带有所用的jar包(commons-httpclient-3.1.jar,commons-logging.jar,httpclient-4.2.5.jar,httpcore-4.2.4.jar)

    (最新)HttpClient4模拟登录腾讯微博

    HttpClient4是中国开源软件社区Apache下的一个HTTP客户端编程工具包,主要用来进行HTTP协议通信,它为Java开发者提供了在Java环境中发送HTTP请求并处理响应的强大功能。这篇最新的文章“HttpClient4模拟登录腾讯微博...

    用HttpClient来模拟浏览器GET_POST

    在这个例子中,我们使用HttpClient来访问java.sun.com的首页,并将响应内容打印出来。 在使用HttpClient时,我们需要了解一些基本概念,例如GET方法、POST方法、COOKIE处理等。下面是一个使用POST方法的例子: ```...

    HttpClient以及获取页面内容应用

    压缩包中含有多个文档,从了解httpclient到应用。 httpClient 1httpClint 1.1简介 HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的客户端编程工具包,并且它支持...

    httpclient 静态化网站 project

    HttpClient是一个强大的HTTP客户端编程工具包,它允许开发者在Java环境中执行HTTP请求,获取网页内容,这对于构建网站爬虫或者数据抓取系统非常有用。 【描述】"静态化首页 子页 一网打尽"表示这个项目不仅限于抓取...

Global site tag (gtag.js) - Google Analytics