这是遗留代码,我想从Qt4转换为Qt5.5。我不太了解服务器端发生的事情。
我正在尝试使用QNttp从Qt4转换为Qt4.5,使用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);
}
此代码不起作用。它给出了“错误:连接被拒绝”。 如何正确转换此代码。
答案 0 :(得分:0)
我的错误。忘了设置端口。
url.setPort(portNo)
并且代码现在正常工作。