`
wangpx
  • 浏览: 202402 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

httpclient 模拟登陆网站 获取网站内容程序

    博客分类:
  • java
阅读更多

package org.apache.http.examples.client;

import java.io.IOException;

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

public class FormLoginDemo {
    static final String LOGON_SITE = "www.intellitrans.com.cn";
    static final int LOGON_PORT = 8081;
    static final String loginurl = "/zyzg/logon.do";
    static final String loginparematername = "userName";
    static final String loginparematerpass = "password";
    static final String username = "wangpx";
    static final String password = "111111";
    
    static final String getUrl = "/zyzg/hrmsub/hrm-deptlist.do";
    

    public static void main(String[] args) throws Exception {
        HttpClient client = imitateLogin(LOGON_SITE, LOGON_PORT, loginurl, loginparematername, loginparematerpass, username, password);
        // 访问所需的页面
        imitateGetUrl(client, getUrl);
    }
    
    //模拟等录
    private static HttpClient imitateLogin(String LOGON_SITE, int LOGON_PORT,
            String loginurl,String loginparematername,String loginparematerpass,String username,String password) throws IOException, HttpException {
        HttpClient client = new HttpClient();
        client.getHostConfiguration().setHost(LOGON_SITE, LOGON_PORT);
        // 模拟登录页面
        PostMethod post = new PostMethod(loginurl);
        NameValuePair name = new NameValuePair(loginparematername,username );
        NameValuePair pass = new NameValuePair(loginparematerpass,password );
        post.setRequestBody(new NameValuePair[] { name, pass });
        int status = client.executeMethod(post);
        System.out.println(post.getResponseBodyAsString());
        post.releaseConnection();
        // 查看cookie信息
        CookieSpec cookiespec = CookiePolicy.getDefaultSpec();
        Cookie[] cookies = cookiespec.match(LOGON_SITE, LOGON_PORT, "/", false,
                client.getState().getCookies());
        if (cookies != null)
            if (cookies.length == 0) {
                System.out.println("None");
            } else {
                for (int i = 0; i < cookies.length; i++) {
                    System.out.println(cookies[i].toString());
                }
            }
        return client;
    }
    //模拟等录 后获取所需要的页面
    private static void imitateGetUrl(HttpClient client, String getUrl)
            throws IOException, HttpException {
        PostMethod post2 = new PostMethod(getUrl);
        // GetMethod get = new
        // GetMethod("/social/article/gallery_show/p_104846/");
        client.executeMethod(post2);
        System.out.println(post2.getResponseBodyAsString());
        post2.releaseConnection();
    }
}

分享到:
评论

相关推荐

    HttpClient模拟登陆

    在阅读博文《HttpClient模拟登陆》时,可以深入学习如何解决这些具体问题,并查看示例代码以获得更详细的实现细节。 标签“源码”意味着你需要关注底层的工作原理,而“工具”标签则暗示HttpClient作为一个实用工具...

    Jsoup+httpclient 模拟登陆和抓取

    - 在Java程序中使用Jsoup和HttpClient来模拟登录一个网站并抓取页面内容。 - 案例中包含了登录、页面访问、内容抽取、页面修改和保存到本地等步骤,展示了完整的操作流程。 9. HTTP请求参数设置: - 设置HTTP...

    httpclient4之百度模拟登陆,回复与58同城自动登陆

    本主题将深入探讨如何使用HttpClient4库进行百度和58同城的模拟登陆操作。HttpClient4是一个强大的Java库,它提供了丰富的功能来执行HTTP请求,非常适合进行网页交互。 首先,我们来了解HttpClient4的基本用法。...

    httpclient 模拟登陆代码和jar包

    模拟登录通常是开发自动化测试、爬虫或集成服务时必要的步骤,它允许程序模仿用户在网页上的登录行为。以下是一份使用`HttpClient`进行模拟登录的典型步骤和相关知识点: 1. **导入依赖**:首先,你需要在项目中...

    HttpClient4.3模拟登陆新版12306

    本篇文章将详细讲解如何利用HttpClient 4.3版本来模拟登录新版12306(中国铁路客户服务中心网站)。 1. **HttpClient介绍** HttpClient是Apache的一个开源项目,它提供了强大的HTTP协议处理能力和灵活的HTTP客户端...

    HttpClient以及获取页面内容应用

    程序可通过该对象获取服务器的响应内容。 6. 释放连接。无论执行方法是否成功,都必须释放连接 //打印服务器返回的状态 System.out.println(method.getStatusLine()); //打印返回的信息 System.out.println(method....

    httpclient-4.3.3+jsoup-1.7.3模拟登陆csdn

    本项目涉及的是使用Apache HttpClient 4.3.3和Jsoup 1.7.3这两个开源库来实现对CSDN(China Software Developer Network)网站的模拟登录,并在成功登录后抓取用户的个人主页内容。下面将详细阐述这两个库的功能以及...

    java web中 HttpClient模拟浏览器登录后发起请求

    Java Web 中 HttpClient 模拟浏览器登录后发起请求是指在 Java Web 应用程序中使用 HttpClient 库模拟浏览器的行为,模拟浏览器登录到服务器,然后发起请求获取资源。这种技术广泛应用于爬虫、自动化测试、数据爬取...

    httpclient测试登录并提交表单功能

    本文将详细介绍如何使用Apache HttpClient库进行模拟登录以及提交表单数据的操作。通过一个具体的示例程序来演示这一过程,帮助读者理解整个流程。 #### 使用场景 在Web应用开发过程中,常常需要模拟用户的登录行为...

    sina微博模拟登陆java源码

    1. **微博模拟登陆**:模拟登录是指通过编程方式复现用户在浏览器上登录网站的过程。在新浪微博的情况下,由于其安全机制,登录过程可能涉及复杂的身份验证和数据加密。 2. **HTTPClient库**:Java中的HTTPClient是...

    C#版本模拟登陆百度,2018年4月27日可用

    本项目"**C#版本模拟登陆百度,2018年4月27日可用**"提供了一个C#语言编写的程序,专门用于模拟用户登录百度网站,而且在发布时是有效的。这个程序的独特之处在于,它不仅能够完成基本的登录操作,还为开发者提供了...

    Java模拟登录正方教务抓取成绩、课表、空教室

    在Java中实现这一功能,我们可以利用Apache HttpClient库来模拟浏览器发送HTTP请求,并使用Jsoup库来解析返回的HTML内容。 1. **Apache HttpClient**:HttpClient是Apache提供的一款强大的HTTP客户端工具包,可以...

    JAVA爬虫实现自动登录淘宝

    爬虫是指模拟用户的行为来自动获取网络资源的程序。JAVA爬虫可以用来自动登录淘宝网,实现自动登录淘宝网的功能。 在本例中,我们使用了Selenium工具来实现自动登录淘宝网。Selenium是一个用于Web应用程序自动化的...

    C# WINFORM网站模拟登陆带验证码源码

    3. **网站模拟登录**:模拟登录是指通过程序代码模拟用户手动登录网站的过程。通常涉及发送HTTP请求,包括GET和POST,携带登录所需的用户名、密码等信息。在这个项目中,开发者需要理解HTTP协议,并能使用C#的...

    java小米商城模拟登陆

    本示例是关于“java小米商城模拟登陆”的实践,通过这个项目,我们可以学习到如何利用Java来模拟用户登录小米商城的过程。下面将详细阐述相关知识点。 1. **HTTP协议理解**:模拟登录首先需要理解HTTP协议的基本...

    winform模拟网站登录,有验证码

    2. **获取登录页面**:使用`HttpClient`获取登录页面的HTML内容,这样可以获取到登录表单的Action URL和可能存在的CSRF令牌。 3. **解析HTML**:使用HTML解析库,如HtmlAgilityPack,解析登录表单的字段名和验证码...

    C#微信模拟登陆群发信息

    "C#微信模拟登陆群发信息"这个主题涉及到了利用编程语言C#实现对微信功能的模拟,特别是群发信息的功能,这对于微信营销来说是一种高效且实用的技术手段。 首先,我们要理解什么是模拟登录。模拟登录是指通过编程...

    模拟登陆新浪微博

    在IT行业中,模拟登录是一种常见的技术,特别是在网络爬虫或者自动化测试中,它允许程序以用户的视角访问网站并执行特定操作。在这个场景中,我们关注的是如何使用HTTPClient 4库来模拟登录新浪微博。首先,我们需要...

    C# 模拟登陆qq

    C#中可以使用`HttpClient`类来发送GET和POST请求,模拟浏览器的行为。 2. **网页解析**:登录页面通常会有一些隐藏的表单字段,例如Session ID或Token,需要通过HTML解析获取。C#可以结合`HtmlAgilityPack`库解析...

Global site tag (gtag.js) - Google Analytics