首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QNetworkAccessManager不工作

QNetworkAccessManager不工作
EN

Stack Overflow用户
提问于 2015-08-18 10:32:41
回答 1查看 1.4K关注 0票数 0

这是一个遗留代码,我想将它从Qt4转换到Qt5.5。我对服务器端发生的事情不太了解。

我试图将代码从使用Qt4的QHttp转换为使用QNetworkAccessManager的Qt5.5,

代码语言:javascript
复制
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());
}

我把这个改到下面,

代码语言:javascript
复制
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);
}

这个代码不起作用。它给出了“错误:连接被拒绝”。如何正确转换此代码。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-19 07:14:19

是我的错。忘了设置端口。

代码语言:javascript
复制
url.setPort(portNo)

代码现在起作用了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32069950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档