首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏跟Qt君学编程

    Qt开源网络库[4]-原理篇下

    , /* method: void function(QNetworkReply::NetworkError error, QNetworkReply* reply); Is_AutoInfer: true */ onError_QString_QNetworkReply_A_Poniter/* method: void function(QString errorString, QNetworkReply (this, SLOT(QString)); onResponse(this, SLOT(QNetworkReply::NetworkError, QNetworkReply*)); onResponse ), { {"types", QStringList({T2S(QNetworkReply::NetworkError), T2S(QNetworkReply*) })}, {"signal", SIGNAL(error(QNetworkReply::NetworkError, QNetworkReply*))},

    1.1K31发布于 2019-07-15
  • 来自专栏跟Qt君学编程

    Qt开源网络库[6]-超时功能

    msec > 0, enable timeout */ HttpRequest &timeout(const int &msec = -1); 实现 HttpResponseTimeout构造函数传递 QNetworkReply 与 timeout参数用于超时中断设置; QTimer::singleShot为单次定时器; 当定时器超时后则会执行 onTimeout函数; 而 onTimeout函数会执行 QNetworkReply class HttpResponseTimeout : public QObject { Q_OBJECT public: HttpResponseTimeout(QNetworkReply *reply = static_cast<QNetworkReply*>(parent()); if (reply->isRunning()) { reply->abort( ::NetworkError, QNetworkReply*))) /* 错误处理 */ .timeout(30*1000) /* 30s */ .exec();

    1.7K20发布于 2019-07-15
  • C++ Qt开发:QNetworkAccessManager网络接口组件

    QNetworkReply *get(const QNetworkRequest &request) 发送GET请求,并返回与请求关联的QNetworkReply对象。 QNetworkReply *post(const QNetworkRequest &request, QIODevice *data)发送POST请求,并返回与请求关联的QNetworkReply对象 QNetworkReply *put(const QNetworkRequest &request, QIODevice *data)发送PUT请求,并返回与请求关联的QNetworkReply对象。 QNetworkReply *deleteResource(const QNetworkRequest &request)发送DELETE请求,并返回与请求关联的QNetworkReply对象。 QNetworkReply *head(const QNetworkRequest &request) 发送HEAD请求,并返回与请求关联的QNetworkReply对象。

    1.4K00编辑于 2024-03-12
  • 来自专栏跟Qt君学编程

    Qt开源网络库[5]-lambda支持

    接口的变化 (1) 在HttpRequest类对外新增以下接口: HttpRequest &onResopnse(std::function<void (QNetworkReply*)> lambda ::NetworkError, QNetworkReply*)> lambda); HttpRequest &onError(std::function<void (QString, QNetworkReply ::NetworkError)>); Q_DECLARE_METATYPE(std::function<void (QNetworkReply::NetworkError, QNetworkReply ), { {"types", QStringList({T2S(QNetworkReply*)})}, {"lambda", T2S(std ::function<void (QNetworkReply*)>)}, {"signal", SIGNAL(finished(QNetworkReply*))},

    1.2K21发布于 2019-07-15
  • C++ Qt开发:QNetworkAccessManager网络接口组件

    QNetworkReply *get(const QNetworkRequest &request) 发送GET请求,并返回与请求关联的QNetworkReply对象。 QNetworkReply *post(const QNetworkRequest &request, QIODevice *data) 发送POST请求,并返回与请求关联的QNetworkReply对象 QNetworkReply *put(const QNetworkRequest &request, QIODevice *data) 发送PUT请求,并返回与请求关联的QNetworkReply对象。 QNetworkReply *deleteResource(const QNetworkRequest &request) 发送DELETE请求,并返回与请求关联的QNetworkReply对象。 QNetworkReply *head(const QNetworkRequest &request) 发送HEAD请求,并返回与请求关联的QNetworkReply对象。

    1.2K10编辑于 2024-03-13
  • 来自专栏jiajia_deng

    Qt 模拟 HTTP 表单提交文字或文件到服务器

    需要用到的模块 QNetworkAccessManager 用来发起 GET/POST 请求 QNetworkReply 用来描述响应信息 QHttpMultiPart 用来模拟表单域 QNetworkRequest ); QUrl url("http://my.server.tld"); QNetworkRequest request(url); QNetworkAccessManager manager; QNetworkReply *)), receiver, SLOT(onNetworkFinished(QNetworkReply*))); } HttpUploader::~HttpUploader() { if (multi_part onNetworkFinished 和 onReplyFinished 的区别是,onReplyFinished 槽函数对应 QNetworkReply 的 finished 信号,他仅仅通知完成了,不会携带任何参数 但是你可以通过 QNetworkReply 的实例对象来获取各种返回值信息。

    82820编辑于 2023-10-21
  • 来自专栏跟Qt君学编程

    Qt开源网络库[3]-原理篇上

    HttpResponse主要为转发QNetworkReply事件。HttpResponse由于支持槽函数的类型自动推导(根据参数类型的不同自动绑定对应数据属性的信号)。 <2.3>目前支持自动识别的槽函数有: void function(QNetworkReply* reply); Is_AutoInfer: true */ void function(QByteArray ::NetworkError error, QNetworkReply* reply); Is_AutoInfer: true */ void function(QString errorString, QNetworkReply* reply); Is_AutoInfer: true */ 3. exec魔法 (1)exec做的工作是发送Http请求,装载HttpResponse类; HttpResponse *HttpRequest::exec() { QNetworkReply* reply = NULL; QBuffer* sendBuffer = new QBuffer

    1.5K30发布于 2019-07-15
  • 来自专栏跟Qt君学编程

    Qt开源网络库[2]-接口篇

    (QNetworkReply::NetworkError error); void function(QString errorString); void function(QNetworkReply: :NetworkError error, QNetworkReply* reply); void function(QString errorString, QNetworkReply* reply); , /* method: void function(QNetworkReply::NetworkError error, QNetworkReply* reply); Is_AutoInfer: true , /* method: void function(QNetworkReply::NetworkError error, QNetworkReply* reply); Is_AutoInfer: true */ onError_QString_QNetworkReply_A_Poniter/* method: void function(QString errorString, QNetworkReply

    2K30发布于 2019-07-15
  • 来自专栏跟Qt君学编程

    Qt官方示例-Http

    reply = qnam.get(QNetworkRequest(url)); connect(reply, &QNetworkReply::finished, this, &HttpWindow progressDialog, &QProgressDialog::canceled, this, &HttpWindow::cancelDownload); connect(reply, &QNetworkReply ::downloadProgress, progressDialog, &ProgressDialog::networkReplyProgress); connect(reply, &QNetworkReply void QNetworkReply::downloadProgress(qint64 bytesReceived, qint64 this, &HttpWindow::slotAuthenticationRequired);   验证动作: oid HttpWindow::slotAuthenticationRequired(QNetworkReply

    1.1K20发布于 2019-11-04
  • 来自专栏跟Qt君学编程

    Qt官方示例-网络下载器

    class DownloadManager: public QObject { Q_OBJECT QNetworkAccessManager manager; QVector<QNetworkReply url); bool saveToDisk(const QString &filename, QIODevice *data); static bool isHttpRedirect(QNetworkReply *reply); public slots: void execute(); void downloadFinished(QNetworkReply *reply); void *)), SLOT(downloadFinished(QNetworkReply*))); } void DownloadManager::doDownload(const QUrl &url) { QNetworkRequest request(url); QNetworkReply *reply = manager.get(request); #if QT_CONFIG

    2.3K20编辑于 2023-03-17
  • 来自专栏mythsman的个人博客

    Qt实现FTP的上传和下载

    *); void manageGet(QNetworkReply*); }; #endif // DIALOG_H dialog.cpp #include "dialog.h" Dialog ; break; case QNetworkReply::HostNotFoundError: QMessageBox::information(this,"Put nThe file you've got is :n"+data); break; case QNetworkReply::HostNotFoundError: (); connect(&manager,SIGNAL(finished(QNetworkReply*)),SLOT(managePut(QNetworkReply*))); //设置登录信息 *))); connect(&manager,SIGNAL(finished(QNetworkReply*)),SLOT(manageGet(QNetworkReply*))); QUrl

    1.6K20编辑于 2022-11-14
  • 来自专栏jiajia_deng

    Qt 模拟 HTTP 表单提交文字或文件到服务器

    需要用到的模块 QNetworkAccessManager 用来发起 GET/POST 请求 QNetworkReply 用来描述响应信息 QHttpMultiPart 用来模拟表单域 QNetworkRequest ); QUrl url("http://my.server.tld"); QNetworkRequest request(url); QNetworkAccessManager manager; QNetworkReply *)), receiver, SLOT(onNetworkFinished(QNetworkReply*))); } HttpUploader::~HttpUploader() { if (multi_part onNetworkFinished 和 onReplyFinished 的区别是,onReplyFinished 槽函数对应 QNetworkReply 的 finished 信号,他仅仅通知完成了,不会携带任何参数 但是你可以通过 QNetworkReply 的实例对象来获取各种返回值信息。

    3.8K21发布于 2020-01-04
  • 来自专栏跟Qt君学编程

    Qt开源网络库[8]-上传文件与超时处理

    &onSuccess(const QObject *receiver, const char *method); HttpRequest &onSuccess(std::function<void (QNetworkReply HttpRequest &onFailed(std::function<void (QString)> lambda); HttpRequest &onFailed(std::function<void (QNetworkReply ::NetworkError)> lambda); HttpRequest &onFailed(std::function<void (QNetworkReply*)> lambda); 例子: static 执行Http操作 2.2 使用匿名函数的方式实现成功与失败的事件处理 接口: Http请求返回成功的回调事件 HttpRequest &onSuccess(std::function<void (QNetworkReply ::NetworkError)> lambda); HttpRequest &onFailed(std::function<void (QNetworkReply*)> lambda); 例子: client.get

    1.9K10编辑于 2023-03-17
  • 来自专栏技术之路

    Qt学习笔记网络(一)

    DownPages(QObject *parent = 0); void Do_Download(); signals: public slots: void replyFinished(QNetworkReply *)), this, SLOT(replyFinished(QNetworkReply*))); QUrl url; //url.setUrl("http:// * reply) { //查看是否有错误 switch(reply->error()) { //如果没有错误把页面输出 case QNetworkReply:: *)), this, SLOT(replyFinished(QNetworkReply*))); QUrl url; //url.setUrl("http:// * reply) { switch(reply->error()) { case QNetworkReply::NoError: qDebug()<<"no

    1.2K70发布于 2018-01-31
  • 来自专栏个人编程笔记

    Qt-网络编程

    QT的网路模块中提供了网络编程的相关接口来实现http的访问,其中包含了一些低级的类:QTcpSocket、QTcpServer和QUdpSocket,和一些高级的类:QNetworkRequest、QNetworkReply Q_OBJECT public: explicit qtspider(QWidget *parent = 0); private slots: void replyfinish(QNetworkReply QString(); manager=new QNetworkAccessManager(this); connect(manager,SIGNAL(finished(QNetworkReply *)),this,SLOT(replyfinish(QNetworkReply *))); manager->get(QNetworkRequest(QUrl("http://www.jianshu.com void qtspider::replyfinish(QNetworkReply *reply) { QString result=reply->readAll(); QRegExp

    84210编辑于 2023-03-03
  • 来自专栏Qt6 研发工程师

    Qt | http获取网页文件(小项目)

    05、QNetworkReply>>>QNetworkReply 是 Qt 框架中的一个类,用于处理网络请求的响应。 它通常在使用 QSslSocket 或 QNetworkReply 进行安全网络通信时被用到。 它主要与 QNetworkAccessManager 和 QNetworkReply 类一起使用,以便在进行 HTTP 认证时,提供必需的用户名和密码。 downloadDirectoryLineEdit;​ QUrl url; QNetworkAccessManager netAccessManager; QScopedPointer<QNetworkReply = QNetworkReply::NoError) { // 如果发生错误 QFile::remove(fi.absoluteFilePath()); // 删除已存在的文件

    1.1K10编辑于 2024-10-23
  • 来自专栏Pou光明

    hello大皮——使用Qt访问Python Web服务 (使用Qt获取网页数据)

    python服务数据 mp_clsManager = new QNetworkAccessManager(this); connect(mp_clsManager,SIGNAL(finished(QNetworkReply *)), this,SLOT(slot_replyFinished(QNetworkReply*)));} Widget::~Widget(){ delete ui;} void Widget::slot_replyFinished(QNetworkReply *reply){ //在槽中接收python服务信息 if(reply->error() == QNetworkReply

    1.5K30发布于 2019-07-30
  • 来自专栏跟Qt君学编程

    Qt之FTP上传/下载文件操作

    file.readAll(); file.close(); QNetworkRequest request(url); /* 上传数据,上传成功后会在远端创建/tmp/hello.png文件 */ QNetworkReply = QNetworkReply::NoError) { qDebug() << "Error: " << reply->errorString(); } 下载文件 QNetworkAccessManager ; /* 设置路径 */ url.setPath("/tmp/test.txt"); QNetworkRequest request(url); /* 执行Get请求 */ QNetworkReply finished()), &eventLoop, SLOT(quit())); /* 进入等待,但事件循环依然进行 */ eventLoop.exec(); if (reply->error() == QNetworkReply

    3.6K20发布于 2019-11-24
  • 来自专栏C++

    【从零开始的Qt开发指南】(二十一)Qt 网络编程封神指南:UDP/TCP/HTTP 全场景实战

    Qt 通过QNetworkAccessManager、QNetworkRequest、QNetworkReply类实现 HTTP 客户端功能,支持 GET、POST、PUT、DELETE 等请求方法。 4.1.2 核心方法与信号 QNetworkAccessManager 核心方法 方法 功能说明 QNetworkReply *get(const QNetworkRequest &request) 发送 核心方法与信号 接口类型 名称 功能说明 方法 QByteArray readAll() 读取响应体所有数据 方法 QNetworkReply::NetworkError error() const 获取响应对象 QNetworkReply *reply = qobject_cast<QNetworkReply*>(sender()); if (! 原因:未释放QNetworkReply、QTcpSocket等对象资源。

    45511编辑于 2026-01-14
  • 来自专栏乐意学点小编程

    【QT】Qt网络

    对象 post(const QNetworkRequest& ,const QByteArray& ) 发起一个HTTP POST请求,返回QNetworkReply对象 QNetworkRequest QUrl& ) 通过URL构造一个HTTP请求 setHeader(QNetworkRequest::KnowHeaders header,const QVariant& value) 设置请求头 QNetworkReply QUrl url(ui->lineEdit->text()); //构造HTTP请求对象 QNetworkRequest request(url); //发送GET请求 QNetworkReply * response = manager->get(request); //通过信号槽来处理响应 connect(response, &QNetworkReply::finished, this, [=]() { if (response->error() == QNetworkReply::NoError) { //响应正确 QString

    95610编辑于 2024-11-12
领券