QT http抓包,post和get方法,解析返回的json包
来源:互联网 发布:简易编程软件swift 编辑:程序博客网 时间:2024/06/05 10:31
QT http抓包,post和get方法,解析返回的json包
我用火狐浏览器进行的抓包
代码:
.pro:
QT += core gui
QT += webkitwidgets network widgets
QT += script
.h:
#include <QtNetwork/QtNetwork>
private:
QNetworkAccessManager *manager;
QNetworkRequest *req;
cpp:
//以下是http请求的头函数
#include <QJsonDocument>
#include <QJsonParseError>
#include <QScriptEngine>
#include <QScriptValue>
#include <QScriptValueIterator>
void Wangpan::on_upload_clicked()
{
qDebug()<<"xxx";
//post
QByteArray post_data;
post_data.append("xxxx");//请求主体
manager = new QNetworkAccessManager(this);
connect(manager,SIGNAL(finished(QNetworkReply*)),this,SLOT(replyFinish(QNetworkReply*)));
QNetworkRequest *request = new QNetworkRequest();
request->setUrl(QUrl("http://xxxx"));//要请求的网页
request->setHeader(QNetworkRequest::ContentTypeHeader,"application/x-www-form-urlencoded");//qt默认的请求头
request->setRawHeader("Referer","http://xxxxxxx");//一些必要的请求头
request->setRawHeader("Cookie","xxxxxxxxx");
manager->post(*request,post_data);
//看看需要什么样的请求头
// request->setHeader(QNetworkRequest::ContentTypeHeader,"application/x-www-form-urlencoded");
// request->setRawHeader("Accept","text/html, application/xhtml+xml, */*");
// request->setRawHeader("Referer","http://localhost:8888/login");
// request->setRawHeader("Accept-Language","zh-CN");
// request->setRawHeader("X-Requested-With","XMLHttpRequest");
// request->setRawHeader("User-Agent","Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)");
// request->setRawHeader("Content-Type","application/x-www-form-urlencoded");
// request->setRawHeader("Accept-Encoding","gzip,deflate");
// request->setRawHeader("Host","localhost:8888");
// request->setRawHeader("Content-Length","18");
// request->setRawHeader("Connection","Keep-Alive");
// request->setRawHeader("Cache-Control","no-cache");
//get
//manager->get(QNetworkRequest(QUrl("https://xxxx")));
}
void Wangpan::replyFinish(QNetworkReply * reply)
{
qDebug()<<"对返回信息的JSON包进行解析";
QString strJsonText = reply->readAll();//这个返回的JSON包所携带的所有信息
qDebug()<<"所有返回信息"<<strJsonText;
QString strText="";
QScriptValue jsontext;
QScriptEngine engineText;
jsontext = engineText.evaluate("value = " + strJsonText );
QScriptValueIterator iteratorText(jsontext);
while (iteratorText.hasNext())
{
iteratorText.next();
if(iteratorText.name()=="errmsg")//要查找信息的名字
{
qDebug()<<"iteratorText.name:"<<iteratorText.name();
strText = iteratorText.value().toString();
qDebug()<<"strText"<<strText;//要查找的信息
break;
}
}
//reply->deleteLater();
}
- QT http抓包,post和get方法,解析返回的json包
- fiddler抓包软件模拟GET和POST的使用
- python 抓http GET POST 客户端请求包(关键的是规则)
- fiddler抓包-get/post请求
- 手机抓包的两种方法:wireshark抓包和fiddler抓包
- http抓包分析GET延迟(wireshark)
- HTTP的GET和POST格式解析
- HTTP的GET和POST格式解析
- HTTP的GET和POST格式解析
- HTTP的GET和POST格式解析
- HTTP的GET和POST格式解析
- HTTP的post和get请求解析
- HTTP的GET和POST格式解析
- 抓包解析xml文件为json
- Http的get和post方法比较
- http中get和post的方法
- http的get和post发送方法
- HTTP方法:get和post的区别
- Xcode 打包时出现的Missing iOS Development signing identity签名报错
- MySQL数据库总结(1)入门语句
- 三种对象传参和ModelDriven的原理
- Android AIDL使用详解
- HDU 2602 Bone Collector (01背包)
- QT http抓包,post和get方法,解析返回的json包
- 【leetcode】Array——Contains Duplicate II(219)
- XCode使用七:生成文件目录设置
- 第3周-项目1-个人所得税计算器
- 再不学点东西我们就老了
- C语言数据结构:单向链表
- spring学习笔记(1)IOC核心原理解析
- linux初学者必备..分享几个linux下载安装的链接(贴吧转的)
- 寻找大富翁