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

简介: httpclient 模拟登陆网站 获取网站内容程序
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();
    }
}
相关文章
|
Java
百度搜索:蓝易云【hutool Http 工具发送POST请求的几种方式。】
以上是使用Hutool发送POST请求的几种方式。根据实际需求和代码复杂度,选择合适的方式来发送POST请求。
311 0
|
9天前
|
API
获取网页重定向地址免费API接口教程
该API用于获取网页重定向跳转后的最终地址。请求地址为`https://cn.apihz.cn/api/wangzhan/tiaozhuan.php`,支持POST或GET方式。请求参数包括`id`、`key`和`url`,返回数据包含状态码`code`和最终URL`url`。示例返回:`{&quot;code&quot;:200,&quot;url&quot;:&quot;https://www.baidu.com/&quot;}`。
51 29
接口测试——fiddler对soapui请求返回信息抓取
原文:接口测试——fiddler对soapui请求返回信息抓取 背景:接口测试的时候,需要对接口的请求和返回信息进行查阅或者修改请求信息,可利用fiddler抓包工具对soapui的请求数据进行抓取或修改。
1451 0
|
3月前
|
网络协议 前端开发 JavaScript
浏览器加载网页的幕后之旅:从URL到页面展示详解
【8月更文挑战第31天】当在浏览器地址栏输入URL并回车后,一系列复杂过程随即启动,包括DNS解析、TCP连接建立、HTTP请求发送、服务器请求处理及响应返回,最后是浏览器页面渲染。这一流程涉及网络通信、服务器处理和客户端渲染等多个环节。通过示例代码,本文详细解释了每个步骤,帮助读者深入理解Web应用程序的工作机制,从而在开发过程中作出更优决策。
62 5
|
11月前
|
数据采集 安全 Python
Python爬虫遇到重定向URL问题时如何解决?
Python爬虫遇到重定向URL问题时如何解决?
|
前端开发 JavaScript
|
Java 数据安全/隐私保护
模拟登陆系统
模拟登陆系统
115 0
|
Web App开发 前端开发 JavaScript
前端开发学习常用网站网址及API接口()免费)
前端开发学习常用网站网址及API接口()免费)
|
数据采集 存储 数据库
HTTP代理如何爬取?保姆式教程(附测试视频)
我们可以使用Python中的requests和beautifulsoup库来获取并解析这些信息。
HTTP代理如何爬取?保姆式教程(附测试视频)
|
缓存 前端开发 JavaScript
YII2.0网站如何减少网站首页的HTTP请求?底层原理是什么?
YII2.0网站如何减少网站首页的HTTP请求?底层原理是什么?