关于Qt http的Post两种请求方式的编写方式,请求参数和请求体(json格式)
1.请求参数
void sendHttpRequest_param(QString url, QMap<QString, QString> data){
QUrl _url(url);
QUrlQuery item;
if (!data.isEmpty()) {
QMap<QString, QString>::iterator it;
for (it = data.begin(); it != data.end(); ++it) {
item.addQueryItem(it.key(), it.value());
}
}
_url.setQuery(item);
QNetworkAccessManager *accessManager = new QNetworkAccessManager(this);
connect(accessManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(finishedSlot(QNetworkReply*)));
QNetworkRequest request;
request.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/x-www-form-urlencoded"));
request.setUrl(_url);
//设置SSL,HTTPS协议需要SSL证书
QSslConfiguration m_sslConfig = QSslConfiguration::defaultConfiguration();
m_sslConfig.setPeerVerifyMode(QSslSocket::VerifyNone);
m_sslConfig.setProtocol(QSsl::TlsV1_2);
request.setSslConfiguration(m_sslConfig);
accessManager->get(request);
return;
}
- 请求体
void sendHttpRequest(QString url, QByteArray data, QString type)
{
QNetworkAccessManager *accessManager = new QNetworkAccessManager(this);
connect(accessManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(finishedSlot(QNetworkReply*)));
QNetworkRequest request;
request.setHeader(QNetworkRequest::ContentLengthHeader, data.length());
request.setUrl(QUrl(url));
if (type.toUpper() == "GET") {
accessManager->get(request);
}
else if (type.toUpper() == "POST") {
request.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json"));
//设置SSL,HTTPS协议需要SSL证书
QSslConfiguration m_sslConfig = QSslConfiguration::defaultConfiguration();
m_sslConfig.setPeerVerifyMode(QSslSocket::VerifyNone);
m_sslConfig.setProtocol(QSsl::TlsV1_2);
request.setSslConfiguration(m_sslConfig);
accessManager->post(request, data);
}
return;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!