Http帖子未显示内容
Http Post Not Showing Content
所以我试图发布到我的localhost
,以获得成功与否的结果,而我遇到了问题。我认为它没有发送请求,或者只是没有得到页面的结果。我补充道:
QT += network
但仍然不起作用
void sendPost() {
QEventLoop eventLoop;
QNetworkAccessManager mgr;
QUrlQuery postData;
postData.addQueryItem("unm", "user");
postData.addQueryItem("pwd", "81238as");
QNetworkRequest request(QUrl(QString("http://localhost/login.php")));
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
QNetworkReply *reply = mgr.post(request, postData.toString(QUrl::FullyEncoded).toUtf8());
eventLoop.exec();
if (reply->error() == QNetworkReply::NoError) {
QString data = reply->readAll();
qDebug(data.toUtf8().constData());
delete reply;
}
else {
qDebug() << "Failure" <<reply->errorString();
delete reply;
}
}
谢谢你抽出时间。
如果运行eventLoop
,它会阻止你的所有应用程序,你应该在经理完成后退出eventLoop
。接下来的代码可以工作,但老实说,我总是用信号和插槽来做这件事,所以我不知道QEventLoop
的使用是否正确。
试试这个:
#include <QObject>
//...
QEventLoop eventLoop;
QNetworkAccessManager mgr;
QUrlQuery postData;
postData.addQueryItem("unm", "user");
postData.addQueryItem("pwd", "81238as");
QNetworkRequest request(QUrl(QString("http://localhost/login.php")));
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
QNetworkReply *reply = mgr.post(request, postData.toString(QUrl::FullyEncoded).toUtf8());
QObject::connect(&mgr,SIGNAL(finished(QNetworkReply*)),&eventLoop,SLOT(quit()));
eventLoop.exec();
if (reply->error() == QNetworkReply::NoError) {
QString data = reply->readAll();
qDebug(data.toUtf8().constData());
delete reply;
}
else {
qDebug() << "Failure" <<reply->errorString();
delete reply;
}
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- C++,OpenCV,尝试显示图像时"OpenCV(4.3.0) Error: Assertion failed (size.width>0 && size.height>0)"此错误
- 字符串-C++后显示的随机字符
- 继承期间显示未知行为的子类
- 仅使用绝对值对数组进行排序,并在C++中显示实际值
- 程序崩溃并显示"std::out_of_range"错误
- 如何在boost beast http请求中设置http头
- 如何在C++中用std::cout正确显示带十六进制的字符串文本
- 为什么在C的循环中使用printf的Rust代码不显示输出,而在C++的循环中显示std::cout
- 在多个核心中处理一个HTTP请求
- SFML library: http request
- 从数据库实时显示QT c++中的数据
- 当使用比格式支持的精度更高的精度来显示数字时,会写出什么数据
- 显示错误输出的简单数组排序程序
- Qt自定义QPush按钮未显示在布局上
- C++射线示踪剂ppm表示没有足够的数据来显示图像
- 显示基于用户输入的整数的字符
- 通过 tcp 和浏览器发送带有 HTTP 协议的 html 文件会显示错误
- Http帖子未显示内容
- Dlib HTTP服务器显示网站为纯HTML,没有javascript/css