QT5.5 (post请求、MD5加密)
来源:互联网 发布:博罗县网络问政中心 编辑:程序博客网 时间:2024/06/11 14:25
- #include "mainwindow.h"
- #include "ui_mainwindow.h"
- #include <QNetwork.h>
- #include <QtDebug>
- #include <QString>
- #include <QJsonObject>
- #include <QJsonDocument>
- #include <QJsonArray>
- #include <QLabel>
- #include <QCryptographicHash>
- MainWindow::MainWindow(QWidget *parent) :
- QMainWindow(parent),
- ui(new Ui::MainWindow)
- {
- ui->setupUi(this);
- connect(network_manager,&QNetworkAccessManager::finished,this,&ReplyFinished);
- }
- MainWindow::~MainWindow()
- {
- delete ui;
- }
- void MainWindow::on_pushButton_clicked()
- {
- QString string = ui->lineEdit->text();
- QString q = string;
- QString from = "auto";
- QString to = "zh";
- QString appid = "xxxxxxxxxxxxxx";
- QString salt = "34542455";
- QString Key = "xxxxxxxxxxxxxxx";
- QString sign1 =appid+q+salt+Key;
- // QString str = QString("%1%2%3%4")
- // .arg(appid).arg(q).arg(salt).arg(Key);
- QByteArray sign2 = QCryptographicHash::hash(sign1.toUtf8(), QCryptographicHash::Md5);
- QString sign = sign2.toHex();
- QString status = QString("q=%1&from=%2&to=%3&appid=%4&salt=%5&sign=%6")
- .arg(q).arg(from).arg(to).arg(appid).arg(salt).arg(sign);
- post_data.append(status);
- network_request.setUrl(QUrl("http://api.fanyi.baidu.com/api/trans/vip/translate?"));
- network_request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
- network_request.setHeader(QNetworkRequest::ContentLengthHeader, post_data.length());
- network_manager->post(network_request,post_data);
- }
- void MainWindow::ReplyFinished(QNetworkReply *reply)
- {
- QVariant status_code = reply->attribute
- (QNetworkRequest::HttpStatusCodeAttribute);
- if(reply->error() == QNetworkReply::NoError)
- {
- QByteArray bytes = reply->readAll(); //获取字节
- QString result(bytes); //转化为字符串
- QJsonObject data(QJsonDocument::fromJson(bytes).object());
- QString string = data["trans_result"].toArray()[0].toObject()["dst"].toString();
- ui->label->setText(string);
- qDebug()<<string;
- }
- delete reply;
- }
- void Uploader::onPostDataFinish(QNetworkReply *reply)
- {
- QVariant statuscode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute);
- if(statuscode==200&&reply->error() == QNetworkReply::NoError)
- {
- QByteArray bytes = reply->readAll();
- QString feedback(bytes);
- .../*上传成功,执行相应操作*/
- }
- else
- {
- .../*上传失败,执行相应操作*/
- }
- delete reply; //这一句是关键,用来释放上传结束后文件的内存
- }
阅读全文
0 0
- QT5.5 (post请求、MD5加密)
- QT5.5 百度翻译(post请求、MD5加密)
- 【iOS开发-93】GET和POST请求的实现步骤,MD5加密方法
- OC笔记 - POST、GET请求、数据加密(2015.4.25)
- 接口请求之加密参数(用户名和密码),使用md5方法加密
- MD5加密(密码加密)
- 安全卫士5--MD5加密
- MD5 加密(1)
- MD5 加密(2)
- 加密(RC4,MD5)
- MD5加密(Java)
- MD5 (加盐) 加密
- md5加密(DigestUtils)
- 加密(MD5加密和HAMC加密)
- python爬虫学习日记(2)--分析POST信息(MD5加密)
- Http协议与请求, Post请求与Get请求的区别,Base64和URL编码,md5,sha-1加密,对称和非对称加密,支付宝微信第三方支付
- MD5加密及HMAC-MD5加密(VC源代码)
- MD5加密及HMAC-MD5加密(VC源代码)
- tablayout结合动态创建fragment
- 扫二维码+阶梯流式布局+自定义画圆+组合view
- The first job
- Gradle知识(一)
- 自定义view 圆形进度条
- QT5.5 (post请求、MD5加密)
- Palindrome Number
- Apache访问控制之虚拟主机配置
- html加CSS总结
- Could not initialize class com.jacob.activeX.ActiveXComponent
- 递归算法
- 【入门篇】Activiti三种网关的绘制方法以及简单的用法
- 算法第四版约瑟夫问题队列实现
- LeetCode 647. Palindromic Substrings[Medium]