Qt http简单使用

需要在头文件中添加网络相关QtNetwork

**GET - 从指定的资源请求数据。
POST - 向指定的资源提交要被处理的数据**

1.使用get方式

创建网络管理器:QNetworkAccessManager *manager = new QNetworkAccessManager(this);
创建请求:QNetworkRequest *my_request = new QNetworkRequest();
使用槽连接:connect(manager, SIGNAL(finished(QNetworkReply*)),this,SLOT(parse__data(QNetworkReply*)));
声明请求返回:QNetworkReply *reply;
当发送完成之后会发送结束信号,此时可指定相应的槽函数,利用QNetworkReply*获取相关情况
槽函数:

void TestQNetwork::parse_data(QNetworkReply* reply)
{
if(reply ->error()==QNetworkReply::NoError)//发送无误
{
QTextCodec *codec = QTextCodec::codecForName(“utf8”);
QString return_code = codec->toUnicode(reply->readAll());//获取返回数据
reply->deleteLater();//删除否则下次无法发送
}
}

建立连接后再在它地方可指定请求链接发送请求,发送完毕后会自动调用相应的槽函数。
例:
QString request_url=”www.hao123.com”;
my_request->setUrl(request_url);
reply = manager->get(*my_request);//指定get方式 发送请求

返回结果可通过槽函数获取。

2.post方式
创建网络管理器 QNetworkAccessManager *manager = new QNetworkAccessManager(this);
创建请求 QNetworkRequest *my_request = new QNetworkRequest();
创建请求数据 QByteArray post_data;

设置发送数据:
post_data.append(“user=123456&”);
post_data.append(“password=123456&”);

创建槽连接:connect(manager, SIGNAL(finished(QNetworkReply*)),this,SLOT(parse__data(QNetworkReply*)));

创建url:QString request_url=”www.hao123.com”;
my_request->setUrl(request_url);
发送请求:network_manager->post(network_request, post_data);

槽函数处理
void TestQNetwork::parse_data(QNetworkReply* reply)
{
if(reply ->error()==QNetworkReply::NoError)//发送无误
{
QTextCodec *codec = QTextCodec::codecForName(“utf8”);
QString return_code = codec->toUnicode(reply->readAll());//获取返回数据
reply->deleteLater();//删除否则下次无法发送
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值