QT如何使用SSL发送https
Qt How sent post HTTPS with SSL
qt如何使用SSL发送简单的帖子https?
该程序应该使用qnetworkAccessManager通过HTTPS发送帖子。
以下是我代码的简单示例。
QUrlQuery params;
QByteArray dane;
params.addQueryItem("mWyslijpost", ui->lineEdit->text());
dane.append(params.toString());
QUrl url("https://81.2.244.83/Testpostssl/infotest.php");
QNetworkRequest request(url);
request.setHeader(QNetworkRequest::ContentTypeHeader,"application/x-www-form-urlencoded");
QNetworkReply *reply = manager->post(request, dane);
QFile certFile(":/crt/cert.crt");
Q_ASSERT(certFile.open(QIODevice::ReadOnly));
QSslCertificate cert(&certFile, QSsl::Pem);
QSslSocket * sslSocket = new QSslSocket(this);
sslSocket->addCaCertificate(cert);
sslSocket->connectToHostEncrypted(SERVER, 443);
if (!sslSocket->waitForEncrypted())
{
qDebug() << "Info " << sslSocket->errorString();
return false;
}
QSslConfiguration config = sslSocket->sslConfiguration();
config.setProtocol(QSsl::TlsV1_2);
sslSocket->setSslConfiguration(config);
reply->setSslConfiguration(config);
// wait
QEventLoop elCzekaj;
connect(reply, SIGNAL(finished()), &elCzekaj, SLOT(quit()));
elCzekaj.exec();
if(reply->error() == QNetworkReply::NoError)
{
qDebug() << reply->readAll();
}
else
{
qDebug() << "Error...";
qDebug() << reply->errorString();
}
如何从服务器下载证书?如何配置QSSL?
从对等方获得证书,请尝试这样的事情:
QSslSocket *socket = new QSslSocket();
QObject::connect(socket,
&QSslSocket::encrypted,
[=](){qDebug() << socket->peerCertificate() << " cert";}
);
socket->connectToHostEncrypted("stackoverflow.com", 443);
关于问题:"如何配置QSSL",这取决于您想做什么。如果您只想通过TLS从Web服务器中获取某些内容,只需使用QnetworkAccessManager即可。那里的默认值会。
相关文章:
- 从命令行c++发送文本文件名
- 发送一个带有libcurl C++问题的帖子请求:s
- 如何通过套接字将文本文件的内容从服务器发送到客户端
- 如何在C++中将函数发送到另一个进程
- boost xml parsingl将xml的路径作为变量发送
- 如何将数组从Objective-C发送到C++函数
- 如何使用ESP8266向谷歌主页发送命令
- 当服务中的事件被触发时,如何将响应从服务发送回客户端?
- 为什么默认复制函数在按值发送参数时不调用?
- 程序不断发送垃圾邮件号码?
- 如何使用 OpenCV 解码在两个 UWP 应用之间发送的图像字节?
- 如何使用 Google Test 向测试添加元数据 / 如何将数据从 Google Test 发送到 TestEven
- 如何接受 [ENTER] 键作为无效输入并发送错误消息
- Qt:如何使不兼容的发送方/接收方参数兼容?
- (Winsock) UDP 接收工作正常,但同一套接字的发送失败
- 如何在 c++ 中在 http/https 端口上发送和接收数据?
- QT如何使用SSL发送https
- 使用Winsock2向具有域HTTPS的Webstie发送GET请求
- 在c++中使用HTTPS发送请求
- 从C/ c++发送http和https请求