Qt post http请求使用

#include "mainwindow.h"
#include "ui_mainwindow.h"
//#include "datadboperation.h"

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);

QString strUserInfo = QString("name=%1&password=%2").arg(user).arg(passward);

QByteArray content = strUserInfo.toUtf8();
int contentLength = content.length();

QNetworkRequest netReq;
netReq.setUrl(QUrl("server ip address"));
netReq.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
netReq.setHeader(QNetworkRequest::ContentLengthHeader, contentLength);

// 将用户名和密码发送至web服务器进行验证
networkAccessManager = new QNetworkAccessManager(this);

// 发送参数
networkAccessManager->post(netReq, content);
connect(networkAccessManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(SltLoginReplay(QNetworkReply*)));
}

void MainWindow::SltLoginReplay(QNetworkReply *reply)
{
int statusCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();

qDebug() << "statusCode:" << statusCode;

if(reply->error() == QNetworkReply::NoError)
{

qDebug() << reply->readAll();
}
else
{
qDebug() << "=========";
}

// At the end of that slot, we won‘t need it anymore
reply->deleteLater();
}

MainWindow::~MainWindow()
{
delete ui;
}

原文地址:http://blog.51cto.com/whylinux/2113027

时间: 2024-11-10 14:29:55

Qt post http请求使用的相关文章

Qt发送HTTP请求

http://hi.baidu.com/cmdmac/item/c45b9f0fb0d0938802ce1bbd 最近在搞QT跟服务器交互的东西,自然少不了发送和接受HTTP请求.在网上找了一些资料知道以前的QT版本是使用QHTTP类来处理HTTP请求的,新版本是使用QNetworkAccessManager来进行管理的. HTTP请求在QT中相应的类为QNetworkRequest,HTTP响应相应的类为QNetworkReply,下面是一个管理的发送HTTP请求并读取响应的例子://Test

qt截获html请求(继承QNetworkAccessManager和QNetworkReply)

QtWebkit加载html页面,html中会有很多的请求,比如<img id="testImg" src="http://*.jpg" width="200" height="200" title="test图片"/>等等,如果想截获这些请求,然后自定义应答... 1.定义一个类,继承QNetworkAccessManager(请求) #ifndef NETWORKACCESSMANAGER_

QT https post请求(QNetworkRequest要设置SSL证书,而SSL证书认证有三种,实测成功)

以VS开发为例.因为https访问需要用到SSL认证,而QT默认是不支持SSL认证,所以在使用之前必须先做一些准备工作: 需要安装OpenSSL库: 1.首先打开http://slproweb.com/products/Win32OpenSSL.html网页: 2.下载安装包,我下载的是:Win32 OpenSSL v1.0.1c Light安装包,随着时间的推进,这个版本会不断更新的: 3.安装(exe文件)到本地,并且在安装过程中选择将库安装到OpenSSL的安装目录(/bin)下面. 4.

Qt 之 使用 https发送 HTTP请求(使用OPENSSL库)

一.简述 在使用Qt发送HTTP请求中一般使用的链接都是http://前缀,而有的服务器支持 https://前缀的链接,而Qt本身是支持https的,但是https访问需要用到SSL认证,而QT默认是不支持SSL认证,所以在Qt中使用https需要进行SSL认证.实现非常容易,简单几步即可完成. 二.HTTPS和HTTP的区别 1.简介 超文本传输协议HTTP被用于在Web浏览器和网站服务器之间传递信息.HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网

qt之fillder抓包(QT网络版有一些具体的坑)

最近项目中使用到了Qt的网络库,在用的过程中也发现了不少坑和问题,本文仅仅作为记录,方便日后查阅.    因为我们整个客户端的gui都是使用qt来完成的,心想qt既然有网络库,而且真心觉着qt封装的控件还是不错的,所以就使用了qt的网络库,说实话qt的网络库封装的确实比较好用,所以开发过程就有条不紊的进行着,一直也没有遇到什么比较大的问题,直到开发完大半部分网络模块,交由产品测试时出现了一个问题(还是测试同志比较给力啊),测试同学发现使用fillder抓不到qt的网络请求包,这虽然对开发来说不是

Qt 学习之路 2(75):线程总结

前面我们已经详细介绍过有关线程的一些值得注意的事项.现在我们开始对线程做一些总结. 有关线程,你可以做的是: 在QThread子类添加信号.这是绝对安全的,并且也是正确的(前面我们已经详细介绍过,发送者的线程依附性没有关系) 不应该做的是: 调用moveToThread(this)函数 指定连接类型:这通常意味着你正在做错误的事情,比如将QThread控制接口与业务逻辑混杂在了一起(而这应该放在该线程的一个独立对象中) 在QThread子类添加槽函数:这意味着它们将在错误的线程被调用,也就是QT

qt之fiddler抓包

最近项目中使用到了Qt的网络库,在用的过程中也发现了不少坑和问题,本文仅仅作为记录,方便日后查阅.    因为我们整个客户端的gui都是使用qt来完成的,心想qt既然有网络库,而且真心觉着qt封装的控件还是不错的,所以就使用了qt的网络库,说实话qt的网络库封装的确实比较好用,所以开发过程就有条不紊的进行着,一直也没有遇到什么比较大的问题,直到开发完大半部分网络模块,交由产品测试时出现了一个问题(还是测试同志比较给力啊),测试同学发现使用fillder抓不到qt的网络请求包,这虽然对开发来说不是

qt之fillder抓包

最近项目中使用到了Qt的网络库,在用的过程中也发现了不少坑和问题,本文仅仅作为记录,方便日后查阅.    因为我们整个客户端的gui都是使用qt来完成的,心想qt既然有网络库,而且真心觉着qt封装的控件还是不错的,所以就使用了qt的网络库,说实话qt的网络库封装的确实比较好用,所以开发过程就有条不紊的进行着,一直也没有遇到什么比较大的问题,直到开发完大半部分网络模块,交由产品测试时出现了一个问题(还是测试同志比较给力啊),测试同学发现使用fillder抓不到qt的网络请求包,这虽然对开发来说不是

创业的第五十七天

搬回来苏苏这里住了,确实觉得比家里住的舒服,我估计是家那边的辐射大,让我总觉得浑身无力,一点都不自在.而且有个比较蛋疼的问题,无线鼠标在家里用起来是卡卡的,说明干扰很大.在搬回去的一个多星期里,基本上项目没有什么进展,真的觉得好浪费时间. 还好现在搬回来了,项目的进度也快了点. 今天把SSChat和QQStars结合了一下,把登陆解决了,现在在弄联系人的部分.其实利用别人写好了的软件,在上面进行修改,真的比自己从0开始学,开始搭建要好.第一,我刚刚学qml,对很多东西都不熟悉,看别人的代码能够进