这是一个遗留代码,我想将它从Qt4转换到Qt5.5。我对服务器端发生的事情不太了解。
我试图将代码从使用Qt4的QHttp转换为使用QNetworkAccessManager的Qt5.5,
void JobCreator::CreateJob(QString userName, QString password, QString jobName, QString jobData)
{
methodName = createJob;
QHttpRequestHeader header = initialize();
QString queryString = "function=CreateJob&username=" + userName + "&password=" + password + "&jobname=" + jobName + "&jobdata=" + jobData;
httpRequestId = http->request(header, queryString.toUtf8());
}我把这个改到下面,
void JobCreator::CreateJob(QString userName, QString password, QString jobName, QString jobData)
{
methodName = createJob;
QUrl url;
url.setScheme("http");
url.setHost("112.165.1.190");
url.setPath("/BSR/job/");
QByteArray qData;
qData.append("function=CreateJob&");
qData.append("username=" + userName);
qData.append("&password=" + password);
qData.append("&jobname=" + jobName);
qData.append("&jobdata=" + jobData);
QNetworkRequest request;
request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
request.setUrl(url);
reply = http->post(request, qData);
}这个代码不起作用。它给出了“错误:连接被拒绝”。如何正确转换此代码。
发布于 2015-08-19 07:14:19
是我的错。忘了设置端口。
url.setPort(portNo)代码现在起作用了。
https://stackoverflow.com/questions/32069950
复制相似问题