博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
刨根问底--技术--jsoup登陆网站
阅读量:5729 次
发布时间:2019-06-18

本文共 1825 字,大约阅读时间需要 6 分钟。

hot3.png

使用jsoup登陆网站,重要的就是看这个网站登录的时候需要什么信息?

步骤:

(1) Jsoup.connect(url)创建一个connect对象,注意:这个方法只支持Web URLs (http和https 协议)。

(2) 设置User-Agentconn.userAgent(user_agent);

(3) 设置请求参数conn.data(params);

(4) 进行提交,并且获得返回值Connection.Response

(5) 从中解析cookies

package com.xing.jsoup;

import java.io.IOException;import java.util.HashMap;import java.util.Map;import org.jsoup.Connection;import org.jsoup.Connection.Method;import org.jsoup.Jsoup;public class FangdoCrawl {protected static int timeout = 1000*60;protected final static String user_agent = "Mozilla/5.0 (Windows NT 6.1; rv:12.0) Gecko/20100101 Firefox/12.0 AlexaToolbar/alxf-2.15";protected static String LOGIN_FLAG = "JSESSIONID";/** * @param args */public static void main(String[] args) {FangdoCrawl crawl  = new FangdoCrawl();crawl.login();}public void login(){//将要登陆的地址String fangdo = "http://www.16msg.com/web/doLogin.action";//准备登陆参数HashMap
params = new HashMap
(3);params.put("phone_id", "*******");params.put("password", "*******");//获取连接Connection httpCon = getConnection(fangdo,params);try {//使用post方式进行提交Connection.Response res = httpCon.method(Method.POST).execute();//解析cookieString jsessionid = res.cookie(LOGIN_FLAG);System.out.println("jsessionid="+jsessionid);} catch (IOException e) {e.printStackTrace();}}public Connection getConnection(String url,Map
params){return getConnection(url, timeout, params);}public Connection getConnection(String url,int timeout, Map
params){Connection conn = Jsoup.connect(url);//设置userAgentconn = conn.userAgent(user_agent);//设置超时conn = conn.timeout(timeout);//设置请求头的相应信息conn = conn.header("accept-encoding", "gzip, deflate");//if(params != null && params.size()>0){//设置请求参数conn = conn.data(params);}return conn;}}

转载于:https://my.oschina.net/winHerson/blog/103709

你可能感兴趣的文章
Redrain duilib中事件委托存在的问题
查看>>
43、我的C#学习笔记9
查看>>
网站建表实践及优化
查看>>
字符串的简单操作
查看>>
C#新功能--命名参数与可选参数
查看>>
构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(22)-权限管理系统-模块导航制作...
查看>>
strtok和strtok_r
查看>>
维辰超市:借助云商城成功转型新零售
查看>>
[Linux]Web性能测试http_load
查看>>
Airbnb 宣布放弃使用 React Native,回归使用原生技术
查看>>
中外RFID技术差异何在?
查看>>
codeforces B. The Meeting Place Cannot Be Changed【二分】
查看>>
文章相似度比较
查看>>
web.xml中<load-on-start>n</load-on-satrt>作用
查看>>
python之路---进程
查看>>
python中,如何将字符串转换为数字(将数字转换为整型),字符串的10转换为整型的10,10.5转换为10...
查看>>
1061. Dating (20)
查看>>
第二次实验的感悟
查看>>
页面留白问题
查看>>
因为时间少
查看>>