地方彩票开奖接口示例,在线文档可查看下

package com.huaying.demo.shenlu;


import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.annotation.JSONField;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Arrays;
import java.util.List;


public class DFLottery {

    public static void main(String[] args) {
        try {
            String content = getContent();
            Respond rsp = new Respond();
            rsp.setLotteries(JSONArray.parseArray(content,Lottery.class));
            rsp.getLotteries().forEach(System.out::println);

        } catch (Throwable t) {
            t.printStackTrace();
        }
    }


    /**
     * 获取API返回内容
     */
    private static String getContent() {

        // 设置接口参数
        String type = "2002";              // 彩种类型,4 位数字编号,福建36选7为2002
        String token = "token";          // 通信令牌,【替换为分配给自己的token】
        String count = "3";                // 返回条数,默认为5
        String format = "json";            // 返回格式,默认为json

        String url = "http://api.shenlu88.com/data/lottery/result/list";
        url += "?type=" + type;
        url += "&token=" + token;
        url += "&count=" + count;
        url += "&format=" + format;

        // 调用神鹿数据 API 获取格式为 JSON 字符串的开奖结果
        String charset = "UTF-8";
        String jsonResult = get(url, charset);

        return jsonResult;
    }

    /**
     * @param url:请求接口
     * @param charset:字符编码
     * @return 返回json字符串
     */
    public static String get(String url, String charset) {
        BufferedReader reader = null;
        String result = null;
        StringBuffer sbf = new StringBuffer();
        String userAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.66 Safari/537.36";
        try {
            URL newUrl = new URL(url);
            HttpURLConnection connection = (HttpURLConnection) newUrl.openConnection();
            connection.setRequestMethod("GET");
            connection.setReadTimeout(30000);
            connection.setConnectTimeout(30000);
            connection.setRequestProperty("User-agent", userAgent);
            connection.connect();
            InputStream is = connection.getInputStream();
            reader = new BufferedReader(new InputStreamReader(is, charset));
            String strRead = null;
            while ((strRead = reader.readLine()) != null) {
                sbf.append(strRead);
                sbf.append("\r\n");
            }
            reader.close();
            result = sbf.toString();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return result;
    }


    public static class Respond{
        @JSONField
        private List<Lottery> lotteries;

        public List<Lottery> getLotteries() {
            return lotteries;
        }

        public void setLotteries(List<Lottery> lotteries) {
            this.lotteries = lotteries;
        }
    }


    public static class Lottery {
        @JSONField(name = "period")
        private String period;
        @JSONField(name = "numbers")
        private String[] numbers;
        @JSONField(name = "special_numbers")
        private String[] special_numbers;
        @JSONField(name = "sales")
        private Long sales;
        @JSONField(name = "jackpot")
        private Long jackpot;
        @JSONField(name = "return_rate")
        private Long return_rate;
        @JSONField(name = "ball_set")
        private Integer ball_set;
        @JSONField(name = "open_date")
        private Long open_date;
        @JSONField(name = "awards")
        private Award[] awards;

        @Override
        public String toString() {
            return "Lottery{" +
                    "period='" + period + '\'' +
                    ", numbers=" + Arrays.toString(numbers) +
                    ", special_numbers=" + Arrays.toString(special_numbers) +
                    ", sales=" + sales +
                    ", jackpot=" + jackpot +
                    ", return_rate=" + return_rate +
                    ", ball_set=" + ball_set +
                    ", open_date=" + open_date +
                    ", awards=" + Arrays.toString(awards) +
                    '}';
        }

        public String getPeriod() {
            return period;
        }

        public void setPeriod(String period) {
            this.period = period;
        }

        public String[] getNumbers() {
            return numbers;
        }

        public void setNumbers(String[] numbers) {
            this.numbers = numbers;
        }

        public String[] getSpecial_numbers() {
            return special_numbers;
        }

        public void setSpecial_numbers(String[] special_numbers) {
            this.special_numbers = special_numbers;
        }

        public Long getSales() {
            return sales;
        }

        public void setSales(Long sales) {
            this.sales = sales;
        }

        public Long getJackpot() {
            return jackpot;
        }

        public void setJackpot(Long jackpot) {
            this.jackpot = jackpot;
        }

        public Long getReturn_rate() {
            return return_rate;
        }

        public void setReturn_rate(Long return_rate) {
            this.return_rate = return_rate;
        }

        public Integer getBall_set() {
            return ball_set;
        }

        public void setBall_set(Integer ball_set) {
            this.ball_set = ball_set;
        }

        public Long getOpen_date() {
            return open_date;
        }

        public void setOpen_date(Long open_date) {
            this.open_date = open_date;
        }

        public Award[] getAwards() {
            return awards;
        }

        public void setAwards(Award[] awards) {
            this.awards = awards;
        }
    }

    public static class Award{
        @JSONField(name = "name")
        private String name;
        @JSONField(name = "total_bonus")
        private Long total_bonus;
        @JSONField(name = "pot_bonus")
        private Long pot_bonus;
        @JSONField(name = "pot_count")
        private Long pot_count;
        @JSONField(name = "additional_bonus")
        private Long additional_bonus;
        @JSONField(name = "additional_pot_count")
        private Long additional_pot_count;
        @JSONField(name = "additional_pot_bonus")
        private Long additional_pot_bonus;

        @Override
        public String toString() {
            return "Award{" +
                    "name='" + name + '\'' +
                    ", total_bonus=" + total_bonus +
                    ", pot_bonus=" + pot_bonus +
                    ", pot_count=" + pot_count +
                    ", additional_bonus=" + additional_bonus +
                    ", additional_pot_count=" + additional_pot_count +
                    ", additional_pot_bonus=" + additional_pot_bonus +
                    '}';
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public Long getTotal_bonus() {
            return total_bonus;
        }

        public void setTotal_bonus(Long total_bonus) {
            this.total_bonus = total_bonus;
        }

        public Long getPot_bonus() {
            return pot_bonus;
        }

        public void setPot_bonus(Long pot_bonus) {
            this.pot_bonus = pot_bonus;
        }

        public Long getPot_count() {
            return pot_count;
        }

        public void setPot_count(Long pot_count) {
            this.pot_count = pot_count;
        }

        public Long getAdditional_bonus() {
            return additional_bonus;
        }

        public void setAdditional_bonus(Long additional_bonus) {
            this.additional_bonus = additional_bonus;
        }

        public Long getAdditional_pot_count() {
            return additional_pot_count;
        }

        public void setAdditional_pot_count(Long additional_pot_count) {
            this.additional_pot_count = additional_pot_count;
        }

        public Long getAdditional_pot_bonus() {
            return additional_pot_bonus;
        }

        public void setAdditional_pot_bonus(Long additional_pot_bonus) {
            this.additional_pot_bonus = additional_pot_bonus;
        }
    }
}

API 返回数据如下(部分):

Lottery{period='19114', numbers=[01, 06, 09, 14, 16, 26, 35], special_numbers=[17], sales=99045800, jackpot=4281056040, return_rate=0, ball_set=0, open_date=1569670200000, awards=[Award{name='特等奖', total_bonus=0, pot_bonus=0, pot_count=0, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}, Award{name='一等奖', total_bonus=0, pot_bonus=0, pot_count=0, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}, Award{name='二等奖', total_bonus=0, pot_bonus=416000, pot_count=8, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}, Award{name='三等奖', total_bonus=0, pot_bonus=50000, pot_count=65, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}, Award{name='四等奖', total_bonus=0, pot_bonus=5000, pot_count=537, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}, Award{name='五等奖', total_bonus=0, pot_bonus=2000, pot_count=1064, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}, Award{name='六等奖', total_bonus=0, pot_bonus=600, pot_count=13625, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}, Award{name='幸运奖', total_bonus=0, pot_bonus=0, pot_count=0, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}]}
Lottery{period='19113', numbers=[06, 08, 10, 12, 14, 17, 20], special_numbers=[21], sales=113264000, jackpot=4251099630, return_rate=0, ball_set=0, open_date=1569497400000, awards=[Award{name='特等奖', total_bonus=0, pot_bonus=0, pot_count=0, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}, Award{name='一等奖', total_bonus=0, pot_bonus=1188800, pot_count=3, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}, Award{name='二等奖', total_bonus=0, pot_bonus=137100, pot_count=26, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}, Award{name='三等奖', total_bonus=0, pot_bonus=50000, pot_count=86, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}, Award{name='四等奖', total_bonus=0, pot_bonus=5000, pot_count=705, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}, Award{name='五等奖', total_bonus=0, pot_bonus=2000, pot_count=1086, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}, Award{name='六等奖', total_bonus=0, pot_bonus=600, pot_count=18281, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}, Award{name='幸运奖', total_bonus=0, pot_bonus=0, pot_count=0, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}]}
Lottery{period='19112', numbers=[01, 09, 13, 15, 22, 24, 33], special_numbers=[12], sales=116776000, jackpot=4222566510, return_rate=0, ball_set=0, open_date=1569324600000, awards=[Award{name='特等奖', total_bonus=0, pot_bonus=0, pot_count=0, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}, Award{name='一等奖', total_bonus=0, pot_bonus=1357400, pot_count=3, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}, Award{name='二等奖', total_bonus=0, pot_bonus=509000, pot_count=8, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}, Award{name='三等奖', total_bonus=0, pot_bonus=50000, pot_count=107, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}, Award{name='四等奖', total_bonus=0, pot_bonus=5000, pot_count=424, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}, Award{name='五等奖', total_bonus=0, pot_bonus=2000, pot_count=1002, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}, Award{name='六等奖', total_bonus=0, pot_bonus=600, pot_count=13649, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}, Award{name='幸运奖', total_bonus=0, pot_bonus=0, pot_count=0, additional_bonus=0, additional_pot_count=0, additional_pot_bonus=0}]}

feijingdata
24 声望3 粉丝