目录

基本概念

代码与实例


基本概念

这个是接入了某识别验证码系统,这个验证码系统有很多的接口,其中就有VC++接口,但个人觉得,这个接口不太好,因为本人想用C++ Qt框架实现,而这个Qt框架的最大特点就是跨平台,所以本人选择了他的HTTP接口,正巧,自己也在学习HTTP。

HTTP的接口使用很频繁,在RabbitMQ中,本人也看到了HTTP接口,写客户端的时候可以直接根据HTTP接口和RabbitMQ进行通信。再后面的博文中将会给出。

下面来看下某打码系统关于余额查询的API文档:

他的返回值如下:

sign计算如下:

代码与实例

这里首先来看看我WEB上的余额:

这里来看看发包和回包:

个人觉得这个sign就是防止数据包被篡改而增加的MD5校验

程序运行截图如下:

源码如下:

#include <QCoreApplication>
#include <QDebug>
#include <QNetworkReply>
#include <QNetworkAccessManager>
#include <QDateTime>
#include <QNetworkRequest>
#include <QCryptographicHash>
#include <QString>
#include <QObject>
#include <QHttpPart>
#include <QHttpMultiPart>
#include <QJsonDocument>
#include <QMap>
#include <QEventLoop>
#include <QUrl>const QString userPID = "";            //去系统里面查
const QString PDKey = "";              //去系统里面查int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);QNetworkAccessManager *manager = new QNetworkAccessManager;QNetworkRequest *request = new QNetworkRequest;QString requestStr = "http://pred.fateadm.com/api/custval";request->setRawHeader("Content-Type", "application/x-www-form-urlencoded");request->setUrl(requestStr);//parameteruint currentTime = QDateTime::currentDateTime().toTime_t();QCryptographicHash md51(QCryptographicHash::Md5);QCryptographicHash md52(QCryptographicHash::Md5);QString md51Str = QString::number(currentTime) + PDKey;md51.addData(md51Str.toUtf8());QString md52Str = userPID + QString::number(currentTime) + QString(md51.result().toHex());md52.addData(md52Str.toUtf8());QString body = QString("user_id=%1&timestamp=%2&sign=%3").arg(116107).arg(currentTime).arg(QString(md52.result().toHex()));QNetworkReply *reply = manager->post(*request, body.toUtf8());QEventLoop loop;QObject::connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));loop.exec();qDebug() << "The result is : ";QMap<QString, QVariant> map = QJsonDocument().fromJson(reply->readAll()).toVariant().toMap();qDebug() << map;delete manager;delete request;qDebug() << "finished!";return a.exec();
}

Qt实践| HTTP知识点-接入某图片验证码系统查询余额相关推荐

  1. Qt实践| HTTP知识点-接入某图片验证码系统识别验证码

    目录 基本概念 代码与实例 基本概念 这里有一个查询余额的:https://blog.csdn.net/qq78442761/article/details/100096351 下面来看看官方API文 ...

  2. Qt实践| HTTP知识点-Qt填充referer请求头盗取图片

    目录 基本概念 代码与实例 基本概念 HTTP协议头中的Referer主要是用来让服务器判断来源页面,即用户是从那个页面来的.网站通常用其来统计用户来源,看用户是从搜索页面来的,还是从其他网站链接来的 ...

  3. Qt实践|HTTPS知识点-SSL socket获取百度首页

    目录 基本概念 代码与实例 基本概念 这里要明确一点,HTTP/HTTPS是应用层协议,而socket一般指TCP/UDP协议,也就是在传输层中,而IP协议是在网络层中! 这个实例主要是撸socket ...

  4. Qt文档阅读笔记|Qt实践| HTTPS知识点-获取某站点SSL证书

    目录 基本概念 代码与实例 基本概念 这里要先介绍几个类和函数 首先是QSslSocket:这个类提供了客户端和服务器之间的SSL加密socket连接.这个是基于TCP连接,可以传输加密数据,支持的协 ...

  5. Qt实践|HTTP知识点-使用百度AI语音识别服务

    目录 基本概念 代码与实例 基本概念 这里来简单介绍下百度的REST API文档,首先是获取Access Token 获取到了后,再发送请求,进行语音识别. 这里我采用Raw方式上传 这个就是百度AI ...

  6. Qt实践3: 图片浏览器

    Qt实现图片浏览器 Qt实践3: 图片浏览器 引言 因课程教学,需要利用Qt做图形界面设计(GUI).自学Qt两月有余,发现现有很多资料,讲述C++程序设计QT项目的较多,不利于新手入门,特别是对于C ...

  7. Qt,C++实现图片验证码

    摘要:支持多种自定义功能.支持长度自定义,字体自定义,颜色自定义,噪点干扰线各种属性自定义,话不多说,先上图. 动态设置背景和边框颜色 动态修改圆角矩形,圆角比例可自定义 动态更改验证码长度和噪点以及 ...

  8. 怎样用Java自制优秀的图片验证码?这样!

    Completely Automated Public Turing test to tell Computers and Humans Apart 全自动区分计算机和人类的图灵测试 简称CAPTCH ...

  9. python+appium自动化测试获取短信+图片验证码

    本篇文章主要讲述的是如何自动获取短信验证码和如何自动获取图片验证码,并写入到对应的输入框中(以下均使用微博的找回密码作为示例) 获取短信验证码的方法有三种,如下所示: 在手机的通知栏中获取短信内容 通 ...

最新文章

  1. php变量类型怎么表示,PHP 数据类型_php
  2. python的openpyxl库如何读取特定列_通过渲染一百万个网页,来了解网络是如何崩溃的...
  3. HDOJ-1181 字符串首尾相连问题[DFS()+strcmp()]
  4. python sql 日期查询_Python--flask使用 SQLAlchemy查询数据库最近时间段或之前的数据...
  5. 大数据正在改变客户服务的五种方式
  6. python3安装包是说解压数据出错怎么办_无法修复“zipimport.zipimporter错误:无法解压缩数据;键入python3.6时zlib不可用获取pip.py...
  7. 近期将要学习的内容(flag)
  8. linux 子shell
  9. @OneToOne or @ManyToOne on references an unknown entity:
  10. 51 单片机 pcf8591 四路ADC 读取 数码管显示 LCD1602显示 程序
  11. 论文阅读:Enhanced Pix2pix Dehazing Network
  12. 通过修改window本地hosts文件修改域名指向
  13. 时统ptp_IEEE1588 PTP对时系统原理及特点
  14. mybatis-plus环境搭建
  15. abaqus三点弯曲有限元模拟
  16. python-模块使用方法
  17. 如何用妙记多 Mojidoc 设置子弹笔记
  18. 架设传奇私服时提示此服务器满员的解决方法
  19. 期末作业成品代码——绿色的餐饮美食网站(1页) HTML+CSS+JavaScript 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码
  20. 数据结构与算法[LeetCode]——sqrt(x)

热门文章

  1. 您对无法重新创建的表进行了更改或者启用了“阻止保存要求重新创建表的更改”选项...
  2. SQL Server 2000/2005 数据库分页
  3. 郝蕾怒骂河南人---江湖再起风云,网络哪里有净土
  4. gduuu 中旅 他最恨的是猎人
  5. Windows 2000/XP中对窗口进行透明化
  6. 我,35岁,程序员,华为工作10年,上个月公司说不再续约
  7. 德不配位,势必遭殃!人事斗争,劝你不要参与!
  8. 我同事今天被裁了,但我却涨了1万工资!
  9. 来前端君朋友圈,一起聊前端面试技巧
  10. 西湖大学生命学院章永登实验室 (超分辨成像)科研团队招聘启事