标签: qnetworkrequest

QNetworkRequest和默认SSL配置

我正在使用以下代码与服务器发出HTTPS请求.

QNetworkRequest request;

//request.setSslConfiguration(QSslConfiguration::defaultConfiguration());
request.setUrl(QUrl("https://www.someurl.com/"));

QNetworkReply *reply = manager->get(request);
Run Code Online (Sandbox Code Playgroud)

一切似乎与我的测试服务器上的工作,但我想知道如果要推荐它来设置defaultConfiguration(取消注释第二行)或没有网络API使用SSL时自动检查所有defaultConfigurations?如果它检查,如果我添加一个自定义配置,它也会这样做吗?我的意思是,是否需要将自定义配置附加到默认配置列表中?例如:

QSslConfiguration SslConfiguration(QSslConfiguration::defaultConfiguration());

QList<QSslCertificate> certificates = SslConfiguration.caCertificates();
certificates.append(QSslCertificate::fromData(certificate.toAscii(), QSsl::Pem));
SslConfiguration.setCaCertificates(certificates);

request.setSslConfiguration(SslConfiguration);
Run Code Online (Sandbox Code Playgroud)

编辑:我想补充一点,我正在使用Symbian平台.

ssl qt qnetworkaccessmanager qnetworkrequest

8
推荐指数
1
解决办法
1万
查看次数

在发送之前访问QNetworkRequest数据

有没有办法看到QNetworkAccessManager::post(QNetworkRequest,QByteArray)在客户端呼叫期间(或之后)发送(或已发送)的数据?

换句话说,我希望看到完整的原始HTTP请求:

POST /somepage.php HTTP/1.1
Host: example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 19

name=need&just=tosee
Run Code Online (Sandbox Code Playgroud)

c++ qt qt4 qtnetwork qnetworkrequest

6
推荐指数
1
解决办法
2114
查看次数

如何在QT上配置OpenSSL

如何让我的QwebView/QNetWorkRequest使用SSL

QT返回此错误(很明显错误发生是因为我没有在我的应用程序中配置SSL):

QSslSocket:无法解析OPENSSL_add_all_algorithms_noconf QSslSocket:无法解析OPENSSL_add_all_algorithms_conf QSslSocket:无法调用未解析的函数OPENSSL_add_all_algorithms_conf

我使用Qt 5.1.1 for Windows 32位(MinGW 4.8,OpenGL) - 我的窗口是64位

老实说,我不知道从哪里开始.我搜索过但没有找到任何显示带有QNetWorkRequest的 trabalar SSL的地方.

我安装openSslWin32(我的Windows是64位,但我的应用程序是32位),我试试这个:

专业档案:

LIBS += -LC:/OpenSSL-Win32/lib -lubsec
INCLUDEPATH += C:/OpenSSL-Win32/include
Run Code Online (Sandbox Code Playgroud)

cpp文件:

#include <openssl/aes.h>
Run Code Online (Sandbox Code Playgroud)

但继续显示错误.

我知道它遗漏了什么,但不知道到底是什么,原谅我,我是初学者.

c++ windows qt openssl qnetworkrequest

5
推荐指数
1
解决办法
7948
查看次数

Qt中使用QNetworkAccessManager的持久连接

我正在尝试使用Qt维护客户端和远程服务器之间的持久连接.我的服务方面很好.我在Qt做客户端.在这里,我将用于使用QNetworkAccessManagerget方法请求服务器(QNetworkRequest方法的一部分).我将能够发送和接收请求.

但是在一段时间(大约2分钟)之后,客户端正在暗示服务器,通过自动发布请求来关闭连接.我想QNetworkAccessManager是为这个连接设置超时.我想在两端之间保持持久的联系.

我的方法是否正确,如果没有,有人可以引导我走正确的道路吗?

qt qnetworkaccessmanager qnetworkrequest

5
推荐指数
1
解决办法
1474
查看次数

使用QNetworkAccessManager进行文件上载错误

我试图在CentOS 6.4的Qt 5.0中使用QNetworkAccessManager将文件上传到服务器.

我尝试过在线跟踪几个例子,但没有一个可行.QFTP工作正常,但很慢,现在已弃用.我的上传代码是:

void ftp::start(QString fileLocation)
{

    QUrl url2("ftp://example.com");
    url2.setUserName(ftpusername);
    url2.setPassword(ftppassword);

    data = new QFile(fileLocation, this);
    if (data->open(QIODevice::ReadOnly)) {
        nam = new QNetworkAccessManager();
        reply = nam->put(QNetworkRequest(url2), data);

        connect(nam, SIGNAL(finished(QNetworkReply*)),this, SLOT(requestFinished(QNetworkReply*)));
        connect(reply, SIGNAL(uploadProgress(qint64, qint64)), SLOT(uploadProgress2(qint64, qint64)));
        connect(reply, SIGNAL(finished()), SLOT(uploadDone()));
    }
    else
    {
        qDebug() << "Could not open file to FTP";
    }
}

void ftp::uploadProgress2(qint64 done, qint64 total) {
    double percent;
    if(done > 0 && total > 0)
    {
        percent = (done*100)/total;
    }
    myParent->addLog("Completed: " + QString::number(done) + "/" + QString::number(total) …
Run Code Online (Sandbox Code Playgroud)

qt qnetworkaccessmanager qnetworkrequest

5
推荐指数
1
解决办法
3527
查看次数

Qt - 获取互联网上托管的网页的源代码(HTML代码)

我想获取网页的源(HTML),例如StackOverflow的主页.

这是我到目前为止编码的内容:

QNetworkAccessManager manager;
QNetworkReply *response = manager.get(QNetworkRequest(QUrl(url)));

QString html = response->readAll(); // Source should be stored here
Run Code Online (Sandbox Code Playgroud)

但没有任何反应!当我尝试获取html字符串的值时,它是空的("").

那么该怎么办?我正在使用Qt 5.3.1.

html qt qnetworkaccessmanager qnetworkrequest qnetworkreply

4
推荐指数
3
解决办法
8930
查看次数

QT QNetworkAccessManager从ftp服务器下载文件无法正常工作

    QNetworkAccessManager *nam = new QNetworkAccessManager();
    QUrl url2("ftp://127.0.0.1/test.txt/");
    url2.setPassword("12345");
    url2.setUserName("user");
    QNetworkRequest req(url2);


   QNetworkReply *reply = nam->get(req);
   QByteArray data = reply->readAll() ;
   qDebug() << data ;
Run Code Online (Sandbox Code Playgroud)

它连接到本地ftp服务器并读取文件,但它变得很垃圾,我做错了什么?

c++ ftp qt qnetworkaccessmanager qnetworkrequest

4
推荐指数
1
解决办法
8010
查看次数

QNetworkAccessManager - 如何发送"PATCH"请求

我正在尝试向我的firebase应用程序发送"PATCH"请求.据我所知,QNetworkManager不支持"Patch"请求.

如何发送"PATCH"请求?

qt httprequest qnetworkaccessmanager qtnetwork qnetworkrequest

3
推荐指数
1
解决办法
1661
查看次数

获取http代码请求

你使用QNetworkRequest发送帖子请求.如何获取请求的HTTP代码?我发送一些请求到服务器,在服务器上我可以看到我的请求,但我必须检查http代码哪个服务器将返回到应用程序.

qt qnetworkrequest

2
推荐指数
1
解决办法
2076
查看次数