2011-04-26 46 views
0

我使用这个代码做一个简单的HTTP邮政(登录)如何在PHP发布Qt后发回数据?

QNetworkAccessManager *nwam = new QNetworkAccessManager; 

    QNetworkRequest request(QUrl("http://localhost/laptop/trylogin.php")); 

    QByteArray data; 
    QUrl params; 

    QString userString(user); 
    QString passString(pass); 

    params.addQueryItem("user", userString); 
    params.addQueryItem("pass", passString); 
    data.append(params.toString()); 
    data.remove(0,1); 

    QNetworkReply *reply = nwam->post(request,data); 

如果记录succeedes与否,我如何发送和阅读在Qt的反应?

+0

所有HTTP方法都有响应。所以,你的应用程序(无论使用哪种方法)都应该得到回报。 – omninonsense 2011-04-26 18:17:54

+0

好的,但是对我而言持有回应的对象是什么?我应该怎么做在PHP方面? – Cumatru 2011-04-26 18:23:15

+1

我不知道Qt,但我认为这行:“QNetworkReply * reply = nwam-> post(request,data);”是你的第一个问题的答案;其次,在PHP方面,你可以返回任何东西,真的。如果你没有“回声”任何东西,那么它可能会返回一个空字符串,所以请尝试返回任何内容并查看“回复”内容是否发生了变化。另外,我认为'数据'什么都不做(至少在现在的情况下),但我不知道Qt,所以我可能是错的。 – omninonsense 2011-04-26 18:28:30

回答

0

您会在reply指针中得到回复/回复。 使用QNetworkReply::error()来查看是否有错误。

+0

我每次都得到NoError代码,即使文件不在那里。 – Cumatru 2011-04-27 12:31:04

0

你可以捕捉到回复信号,因为它适用于信号和插槽。所以你必须连接一个插槽到回复发出的信号httpreadyread,然后通过reply.readAll方法读取回复。READ qtnetwork module documentation ..