当前位置: 首页 > news >正文

做推广可以在哪些网站发布软文怎么样引流加微信

做推广可以在哪些网站发布软文,怎么样引流加微信,政府单位如何做网站,网站可以做视频链接介绍 QT的HTTP模块封装的交互类&#xff0c;线程运行。使用时添加自己的业务逻辑即可 代码 头文件 /*** file httpcontroller.h* brief 云台相机的协议交互类* author xintong-zhou* date 2024-03-13*/#ifndef HTTPCONTROLLER_H #define HTTPCONTROLLER_H#include <QNet…

介绍

QT的HTTP模块封装的交互类,线程运行。使用时添加自己的业务逻辑即可

代码

头文件

/*** @file httpcontroller.h* @brief 云台相机的协议交互类* @author xintong-zhou* @date 2024-03-13*/#ifndef HTTPCONTROLLER_H
#define HTTPCONTROLLER_H#include <QNetworkReply>
#include <QNetworkRequest>
#include <QNetworkAccessManager>
#include <QUrlQuery>
#include <QHttpMultiPart>
#include <QHttpPart>
#include <QJsonArray>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonParseError>
#include <QJsonValue>
#include <QCryptographicHash>
#include <QThread>class HttpWorker : public QObject
{Q_OBJECTpublic:HttpWorker();~HttpWorker();/*** @brief 某条信息的处理* @param object json对象*/void dealXXInfo(const QJsonObject &object);public slots:/*** @brief 执行请求* @param url 请求地址* @param arg 请求参数*/void slotPostHttpRequest(const QString &url, const QJsonObject &obj);/*** @brief 保存交互返回数据*/void slotReadyRead();void slotReplyFinished();/*** @brief 返回数据接收完毕分发处理* @param recvBuffer 接收到的json数据*/void slotRecvData(const QByteArray &recvBuffer);signals:/*** @brief 向上转发结果*/void sigResult();private:QNetworkAccessManager *m_pManager = nullptr;
};class HttpController : public QObject
{Q_OBJECT
public:explicit HttpController(QObject *parent = nullptr);~HttpController();/*** @brief 设置时间日期* @param datetime 时间日期*/void setDateTimeInfo(const QDateTime &datetime);public slots:/*** @brief 线程退出*/void slotExitThread();/*** @brief 向上转发结果*/void slotResult();signals:/*** @brief 执行请求* @param url 请求地址* @param arg 请求参数*/void sigPostHttpRequest(const QString &url, const QJsonObject &obj);private://工作类、线程HttpWorker *m_pWorker = nullptr;QThread m_thread;//请求url以及参数值QString m_serverIP;QString m_url;QString m_arg;
};#endif // HTTPCONTROLLER_H

实现文件

#include "httpcontroller.h"HttpWorker::HttpWorker()
{m_pManager = new QNetworkAccessManager(this);
}HttpWorker::~HttpWorker()
{if(m_pManager != nullptr){delete m_pManager;m_pManager = nullptr;}
}void HttpWorker::dealXXInfo(const QJsonObject &object)
{}void HttpWorker::slotPostHttpRequest(const QString &url, const QJsonObject &obj)
{QJsonDocument jsonDoc = QJsonDocument(obj);QByteArray argInfo = jsonDoc.toJson(QJsonDocument::Compact);qDebug() << "post HttpRequest" << url << argInfo;QNetworkRequest request;request.setUrl(QUrl(url));request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");request.setHeader(QNetworkRequest::ContentLengthHeader, argInfo.length());QNetworkReply *reply = m_pManager->post(request, argInfo);connect(reply, &QNetworkReply::readyRead, this, &HttpWorker::slotReadyRead);connect(reply, &QNetworkReply::finished, this, &HttpWorker::slotReplyFinished);}void HttpWorker::slotReadyRead()
{}void HttpWorker::slotReplyFinished()
{QNetworkReply *reply = qobject_cast<QNetworkReply *>(sender());if(reply == nullptr){qDebug() << "replyFinished Reply nullptr";return;}QByteArray byteArray = reply->readAll();if(byteArray.isEmpty()){qDebug() << "replyFinished ByteArray empty";return;}//处理最终数据slotRecvData(byteArray);//清理资源reply->deleteLater();
}void HttpWorker::slotRecvData(const QByteArray &recvBuffer)
{QJsonParseError jsonerror;QJsonDocument doc = QJsonDocument::fromJson(recvBuffer, &jsonerror);if (doc.isNull() || jsonerror.error != QJsonParseError::NoError){QString info(recvBuffer);if(!info.isEmpty()){qDebug() << "recvData parseJson error" << jsonerror.errorString() << info;}return;}//解析json数据QJsonObject object = doc.object();QString cmd = object.value("cmd").toString();QJsonObject paramObj = object.value("param").toObject();//进行业务分发if("timeSetWeb" == cmd){dealXXInfo(object);}else if("timeSetWeb" == cmd){}
}HttpController::HttpController(QObject *parent) : QObject(parent)
{//请求urlm_serverIP = "192.168.25.111";m_url = m_serverIP + "/api/XX";m_pWorker = new HttpWorker();m_pWorker->moveToThread(&m_thread);connect(&m_thread, &QThread::finished, this,&HttpController::slotExitThread);connect(this, &HttpController::sigPostHttpRequest, m_pWorker, &HttpWorker::slotPostHttpRequest);connect(m_pWorker, &HttpWorker::sigResult, this, &HttpController::slotResult);m_thread.start();
}HttpController::~HttpController()
{if(m_pWorker){delete m_pWorker;m_pWorker = nullptr;}slotExitThread();
}void HttpController::setDateTimeInfo(const QDateTime &datetime)
{//封装信息QJsonObject obj;obj.insert("cmd", "timeSetWeb");QJsonObject param;param.insert("token", 0);param.insert("dateformat", 0);param.insert("timeformat", 1);param.insert("manually", 0);param.insert("year", datetime.date().year());param.insert("month", datetime.date().month());param.insert("day", datetime.date().day());param.insert("hour", datetime.time().hour());param.insert("minute", datetime.time().minute());param.insert("second", datetime.time().second());obj.insert("param", param);emit sigPostHttpRequest(m_url, obj);
}void HttpController::slotExitThread()
{m_thread.quit();m_thread.wait();
}void HttpController::slotResult()
{}
http://www.khdw.cn/news/40607.html

相关文章:

  • 毕业设计网站开发题目网站seo设计
  • 网站开发行业黄页
  • 多开商城西安的网络优化公司
  • o2o网站建设多少钱中国最厉害的营销策划公司
  • 企业年金办法搜索引擎优化的主要工作
  • 做体力活的网站公司怎么做网络营销
  • 网站静态页面做网站上海网站关键词排名
  • 苏州网站建设系统哪家好seo培训赚钱
  • 贵州网站建设seo优化南京网络推广公司排名
  • 如何开设一个网站seo优化及推广如何运营
  • 一般网站的流量是多少谈谈对seo的理解
  • wordpress退出维护模式seo查询是什么
  • 办公室装修一般多少钱一个平方站群优化公司
  • 做网站和做微信小程序semantic
  • 上海企业建站工具网络营销岗位职责和任职要求
  • 课程网站建设的设计报告seo服务如何收费
  • 大网站整站备份百度电脑端网页版入口
  • 南通网站建设.百度app下载安装
  • 武汉做网站哪里便宜求个网站
  • 成都做网站的公司哪家好google海外版
  • 如何分析网站竞争对手百度竞价托管公司
  • 网站建设衣服北京网站排名推广
  • 个人网站设计首页界面建站网站
  • 怎么创建免费网站链接推广平台
  • 网站架构的优化整站seo外包
  • 网站建设的具体实施方案经济新闻最新消息财经
  • 网上商城网站建设方案长沙官网seo技巧
  • 房地产销售年终总结seo外链推广平台
  • 建设手表商城网站多少钱百度快速收录开通
  • 网站管理建设个人网站首页设计