手记

Jsoup向指定页面发送post请求

一 jsoup的主要功能如下:

  1. 从一个URL,文件或字符串中解析HTML;
  2. 使用DOM或CSS选择器来查找、取出数据;
  3. 可操作HTML元素、属性、文本;
    jsoup是基于MIT协议发布的,可放心使用于商业项目。
    二 jsoup包
    1.所使用到的jar包:jsoup-*.jar
    三 jsoup发动post请求来获取指定接口的返回数据
    项目的工程结构

    接下来是配置文件(post的请求参数)

    url = http://www.okooo.com/Lottery06/SportterySoccer/ajax.php?action=getLotteryBonus
    LotteryNo = 2017-03-08
    MultiNum = 1
    MinHit=0
    MaxHit=0
    type=SportterySoccerMix
    Matches=3002:16;3003:15,11;3004:14,13;3005:11,13
    AbsMatches=
    PassTypeStr=4_1,2_1,3_1

    测试类

package com.ok.test;

import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;

import org.jsoup.Connection;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class Test {
    //程序主入口
    public static void main(String[] args) {
        //获取配置参数
        String lotteryNo = getProperties("LotteryNo");
        String Multiunm = getProperties("MultiNum");
        String minhit = getProperties("MinHit");
        String maxhit = getProperties("MaxHit");
        String type = getProperties("type");
        String matches = getProperties("Matches");
        String absmatche = getProperties("AbsMatches");
        String passTypestr = getProperties("PassTypeStr");
        try {
            //jsoup向指定页面发送post请求
            postOk(lotteryNo, Multiunm, minhit, maxhit, type, matches, absmatche, passTypestr);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    /*
     * jsoup向指定的页面发送post请求
     */
    public static String postOk(String lotteryNo,String Multiunm ,String minhit,String maxhit,String type ,String matches,String absmatche,String passTypestr ) throws IOException{
        lotteryNo = getProperties("LotteryNo");
        //获取请求连接
        Connection con = Jsoup.connect("http://www.okooo.com/Lottery06/SportterySoccer/ajax.php?action=getLotteryBonus").userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31");
        //发送参数
        con.data("LotteryNo", lotteryNo);
        con.data("MultiNum",Multiunm);
        con.data("MinHit", minhit);
        con.data("MaxHit", maxhit);
        con.data("type",type);
        con.data("Matches",matches);
        con.data("AbsMatches", absmatche);
        con.data("PassTypeStr", passTypestr);
        Document doc = con.post();  
        //将获取到的内容打印出来
        System.out.println(doc.body().text());
        return doc.toString();
    }
    /*
     * 读取配置信息
     */
        public static  String getProperties(String key){
            Properties props = new Properties();
            try {
                //读取配置文件
                FileInputStream in = new FileInputStream("config/config.properties");
                props.load(in);
                //关闭资源
                in.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return props.getProperty(key);
        }
}

返回结果:

返回的结果是一个json数组,这样我就可以将其中的有效数据解析出来操作使用了。

3人推荐
随时随地看视频
慕课网APP

热门评论

dgdfdfdg不错的东西 


查看全部评论