您的位置:首页 > Web前端 > JavaScript

使用jsoup完成模拟登陆

2016-04-11 10:32 471 查看
大概的思路如下:

1,获取请求的参数,和对应的请求url

2,将参数封装到一个Map<String,String> 中

3,使用对应的参数发post请求,获取response

4,判断时候模拟登陆成功

    /**

     * 读取配置文件中的登录参数

     *

     * @param loginFileName配置文件的名称

     * @return 封装了登录信息的一个map

     */

    public static Map<String, String> getLoginData(String loginFileName) {

        // 读取配置文件中的参数信息

        Properties properties = new Properties();

        try {

            properties.load(new InputStreamReader(CookieTools.class.getResourceAsStream("/" + loginFileName)));

            Map<String, String> loginPramas = new HashMap<String, String>((Map) properties);

            return loginPramas;

        } catch (IOException e) {

            e.printStackTrace();

            Logger.getLogger(CookieTools.class).error("读取配置文件 " + loginFileName + " 失败!");

        }

        return null;

    }

/**

     * 模拟登录

     *

     * @param loginFileName登录参数所在的配置文件名称

     * @param loginUrl登陆请求的url

     * @return 登陆后的cookies

     */

    public static Map<String, String> login(String loginFileName, String loginUrl) {

        try {

            Connection conns = Jsoup.connect(loginUrl);

            Response response = conns.timeout(5000).ignoreContentType(true).method(Method.POST)

                    .data(getLoginData(loginFileName)).execute();

            return response.cookies();

        } catch (IOException e) {

            e.printStackTrace();

        }

        return null;

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  爬虫