使用QT5进行POST请求

jpb*_*ter 2 c++ qt http-post qt5

我是Qt的新手,对于发送一个PHP文件请求并阅读响应有一些困难.

我在Qt 5中发现的关于如何实现POST请求的一切都在某种程度上已经过时(Qt 4.x)并且无法正常工作,或者因为缺乏知识而无法帮助我.

例如,php文件如下所示:

<?php
     // read param1
     $value = $_POST['param1'];

     // Do some stuff here

     // return some text
     echo $value;
?>
Run Code Online (Sandbox Code Playgroud)

我想做的就是:

  • 发布请求并提供一些数据(param1,value1)
  • 读取PHP文件的返回值

有一个小例子的c ++ - 代码,如何用QT5实现这个任务?

lau*_*ent 10

你试过QNetworkAccessManager吗?

QNetworkAccessManager *manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)),
        this, SLOT(replyFinished(QNetworkReply*)));

manager->post(QNetworkRequest(QUrl("http://example.com/yourscript.php")), data);
Run Code Online (Sandbox Code Playgroud)

dataQByteArray,你可以从一个QString的如果需要的话产生.

  • 非常感谢,这很有效!完成:我用它来发送数据:---------- QByteArray数据; QUrlQuery参数; params.addQueryItem("param1","value1"); params.addQueryItem("param2","value2"); params.addQueryItem("param3","value3"); data.append(params.toString()); ----------现在效果很好,再次感谢! (6认同)