一 jsoup的主要功能如下:

  从一个URL,文件或字符串中解析HTML;

  使用DOM或CSS选择器来查找、取出数据;

  可操作HTML元素、属性、文本;

  jsoup是基于MIT协议发布的,可放心使用于商业项目。

  二 jsoup包

  1.所使用到的jar包:jsoup-*.jar

  三 jsoup发动post请求来获取指定接口的返回数据

  项目的工程结构

  

Jsoup向指定页面发送post请求_第1张图片


  接下来是配置文件(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数组,这样我就可以将其中的有效数据解析出来操作使用了。