如何使用 QNetworkAccessManager 将数据发布到 url [英] How can I POST data to a url using QNetworkAccessManager

查看:33
本文介绍了如何使用 QNetworkAccessManager 将数据发布到 url的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个网络服务,我需要使用 Qt POST 一些数据.我想我可以在发布到网络服务时使用 QByteArray.

I have a webservice that I need to POST some data to using Qt. I figured that I can use a QByteArray when POSTing to the web service.

我的问题是,如何格式化这个数组以便在另一端正确解析?

My question is, how can I format this array in order to be parsed correctly at the other end?

这是我目前的代码:

    // Setup the webservice url
    QUrl serviceUrl = QUrl("http://myserver/myservice.asmx");
    QByteArray postData;

   /* 
   Setup the post data somehow
   I want to transmit:
   param1=string,
   param2=string
   */

    // Call the webservice
    QNetworkAccessManager *networkManager = new QNetworkAccessManager(this);
    connect(networkManager, SIGNAL(finished(QNetworkReply*)), this, SLOT(serviceRequestFinished(QNetworkReply*)));
    networkManager->post(QNetworkRequest(serviceUrl), postData);

谢谢!

推荐答案

我用过:

QByteArray postData;
postData.append("param1=string&");
postData.append("param2=string");

所以 &而不是每个参数后的换行符.

So & instead of newline after each parameter.

这篇关于如何使用 QNetworkAccessManager 将数据发布到 url的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆