QT中 如何让webView发送post请求?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT中 如何让webView发送post请求?相关的知识,希望对你有一定的参考价值。
QString urltext = ui->lineEdit->text();
QNetworkRequest *request = new QNetworkRequest();
QNetworkAccessManager::Operation op = QNetworkAccessManager::GetOperation;
QByteArray body;
body.append("username=admin");
request->setUrl(QUrl(urltext));
webView->load(*request, op, body);
谁给讲讲?就是用webView去请求一个地址,然后传一些post数据。还要让webView打开这个地址
QNetworkRequest request(url);
QByteArray post_data;
post_data.append("testpost1=1111111&");
post_data.append("testpost2=222222&");
ui->webview->load(request,QNetworkAccessManager::PostOperation,post_data);
这样webview就会用post打开,post数据post_data到http://www.baidu.com
Haha,So easy~~~
如何使用Qt进行post get模拟登录
参考技术A首先你需要使用到以下几个类:
class QNetworkAccessManager;// http网络处理对象
class QNetworkReply; // http返回应答处理的
calss QNetworkRequest; // 发送http协议请求的
简单举个例子
用户名和密码添加post内容中QString strUserInfo = QString("uname=%1&pwd=%2").arg(editUser->text()).arg(editPassword->text());
QByteArray content = strUserInfo.toUtf8();
int contentLength = content.length();
QNetworkRequest netReq;
netReq.setUrl(QUrl("you http server addr"));
netReq.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
netReq.setHeader(QNetworkRequest::ContentLengthHeader, contentLength);
// 将用户名和密码发送至web服务器进行验证
QNetworkAccessManager *m_manager = new QNetworkAccessManager(this);
// 发送参数
m_manager->post(netReq, content);
connect(m_manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(SltLoginReplay(QNetworkReply*)));
以上是关于QT中 如何让webView发送post请求?的主要内容,如果未能解决你的问题,请参考以下文章