博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA——基于HttpClient的全国大学英语四、六级考试(CET4&CET6)[2019年下半年]查询DEMO
阅读量:2036 次
发布时间:2019-04-28

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

基本概念

HttpComponents(HttpClient)

超文本传输​​协议(HTTP)可能是当今Internet上使用的最重要的协议。Web服务,支持网络的设备和网络计算的增长继续将HTTP协议的作用扩展到用户驱动的Web浏览器之外,同时增加了需要HTTP支持的应用程序的数量。

HttpComponents是为扩展而设计的,同时提供了对基本HTTP协议的强大支持,对于构建HTTP感知的客户端和服务器应用程序(例如Web浏览器,Web Spider,HTTP代理,Web服务传输库或利用或扩展HTTP协议以进行分布式通信。

问题分析

全国大学英语四、六级考试(含口语)成绩查询官网: 

http://cet.neea.edu.cn/cet

 考试代码数据文件:

 API:

POST请求

URL:

参数:

        data:考试代码,准考证考,考生姓名

 

源代码

JAVA版本 

: HttpClientUtils为HttpClient工具类,参考:

(无验证码识别) 

package club.zstuca.myzstu.service.Impl;import club.zstuca.myzstu.httpclient.HttpClientUtils;import club.zstuca.myzstu.service.ICETService;import org.springframework.stereotype.Service;import java.util.HashMap;import java.util.Map;import java.util.regex.Matcher;import java.util.regex.Pattern;/** * @Author ShenTuZhiGang * @Version 1.0.0 * @Date 2020-02-21 11:31 */@Servicepublic class CETServiceImpl implements ICETService {    private static final String QUERY_URL = "http://cache.neea.edu.cn/cet/query";    @Override    public String query(String zkzh, String name){        Map
headers=new HashMap<>(); headers.put("Referer","http://cet.neea.edu.cn/cet/query.html"); Map
params=new HashMap<>(); char idx = zkzh.charAt(9); String z = null; if(idx == '1'){ z = "CET4_192_DANGCI"; }else if(idx == '2'){ z = "CET6_192_DANGCI"; } String data = z + "," + zkzh + "," + name; params.put("data",data); String res = HttpClientUtils.doGetRequest(QUERY_URL,headers,params); Pattern pattern = Pattern.compile("result.callback\\((.*)\\);"); Matcher m = pattern.matcher(res); String obj = ""; if (m.find()) { obj = m.group(1); } return obj; }}

Python版本

参考文章

你可能感兴趣的文章
log4j2 个性化日志名
查看>>
SSH上传文件
查看>>
java8 方法中 传递函数
查看>>
MongoDB使用小结:一些常用操作分享
查看>>
Titan Graph DataBase 研究 (一)----环境搭建
查看>>
Titan Graph DataBase 研究 (二)----Titan Server 发布
查看>>
大数据面试题及答案-汇总版
查看>>
初始Titan
查看>>
Titan数据库简介
查看>>
Titan 体系结构概述
查看>>
开始使用Titan
查看>>
DTCC 李文哲:基于图数据库的大数据应用
查看>>
数据库各派系起源、应用场景和选择指南
查看>>
Titan数据库快速入门之决战云巅
查看>>
Titan数据库快速入门之神的光芒
查看>>
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin
查看>>
一文教你看懂大数据的技术生态圈 Hadoop,hive,spark
查看>>
TinkerPop中的遍历:图的遍历策略
查看>>
The GraphComputer翻译及案例
查看>>
Gremlin简介
查看>>