QNetworkAccessManager发送请求失败
basic QNetworkAccessManager fails to send requestion
在我的代码中没有错误,虽然从来没有任何请求数据包击中我的服务器。我运行tcpdump端口80,没有任何东西通过线,wireshark也这么说。
//coreeng.h#ifndef COREENG_H
#define COREENG_H
#include <QObject>
#include <QNetworkAccessManager>
class coreEng : public QObject
{
Q_OBJECT
public:
private slots:
public slots:
void connect();
void url();
void finishedSlot(QNetworkReply* reply);
private:
QNetworkAccessManager* nam;
};
#endif // COREENG_H
//coreengine.cpp #include "coreeng.h"
#include <QNetworkAccessManager>
#include <QUrl>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QImageReader>
coreEng::coreEng(QObject *parent) :
QObject(parent)
{
}
explicit coreEng(QObject *parent = 0)
{
nam = new QNetworkAccessManager();
}
void coreEng::connect(){
QObject::connect(nam, SIGNAL(finished(QNetworkReply*)),
this, SLOT(finishedSlot(QNetworkReply*)));
}
void coreEng::url(){
QUrl url("http://www.myserver.com");
QNetworkReply* reply = nam->get(QNetworkRequest(url));
}
void coreEng::finishedSlot(QNetworkReply* reply){
QVariant statusCodeV = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute);
QVariant redirectionTargetUrl = reply->attribute(QNetworkRequest::RedirectionTargetAttribute);
if (reply->error() == QNetworkReply::NoError)
{
QImageReader imageReader(reply);
QImage pic = imageReader.read();
QByteArray bytes = reply->readAll(); // bytes
QString string(bytes); // string
}
else
{
}
delete reply();
}
//main.cpp #include <QCoreApplication>
#include "coreeng.h"
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
coreEng mConnect;
mConnect.connect();
return a.exec();
}
您从不调用coreEng::url()
,因此您从不发出请求。
我也不确定你的构造函数是否正确。为什么不抛弃显式构造函数并在默认构造函数中创建QNetworkAccessManager呢?
相关文章:
- 如果没有malloc,链表实现将失败
- 模板参数替换失败,并且未完成隐式转换
- 如何解决来自 arduino 的 post 请求的问题,在失败之前只收到 2-3 次
- C++ 对 nodejs 服务器的 POST 请求失败(基于套接字)
- Qt Post请求正在执行但失败
- 为什么这个简单的服务器在非常低的并发请求上失败
- c++ 调试断言在 HTTP 请求上失败
- malloc调用在一个看似很小的请求后失败
- 内核AIO(libaio)写入请求在启动时从保留的内存中写入时失败
- 对友好URL的POST请求失败
- X失败请求的错误:BadValue(整数参数超出操作范围)
- 获取POCO HTTPSClientSession发送请求时出错-证书验证失败
- CURL请求失败重试方法
- std::ifstream::read()读取的数据少于请求的数据,并设置失败位,原因不明显
- QNetworkAccessManager发送请求失败
- Allegro5 - openGL:失败请求的主要操作码:55 (X_CreateGC)
- 声纳-请求服务器版本失败
- 向facebook(Marmalade c++)发送图片请求响应失败
- libauth请求失败
- FTP客户端请求失败