我正在使用以下代码与服务器发出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平台.
有没有办法看到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) 如何让我的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)
但继续显示错误.
我知道它遗漏了什么,但不知道到底是什么,原谅我,我是初学者.
我正在尝试使用Qt维护客户端和远程服务器之间的持久连接.我的服务方面很好.我在Qt做客户端.在这里,我将用于使用QNetworkAccessManager
get方法请求服务器(QNetworkRequest
方法的一部分).我将能够发送和接收请求.
但是在一段时间(大约2分钟)之后,客户端正在暗示服务器,通过自动发布请求来关闭连接.我想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) 我想获取网页的源(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.
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服务器并读取文件,但它变得很垃圾,我做错了什么?
我正在尝试向我的firebase应用程序发送"PATCH"请求.据我所知,QNetworkManager不支持"Patch"请求.
如何发送"PATCH"请求?
qt httprequest qnetworkaccessmanager qtnetwork qnetworkrequest
你使用QNetworkRequest发送帖子请求.如何获取请求的HTTP代码?我发送一些请求到服务器,在服务器上我可以看到我的请求,但我必须检查http代码哪个服务器将返回到应用程序.