Qt6 QSslSocket 客户端设计踩坑

QSslSocket 默认自动搜索代理设置,当系统中存在代理时,执行 connectToHostEncrypted 会导致 socket error: UnsupportedSocketOperationError,具体错误是 connect error is "The proxy type is invalid for this operation";
查找原因步骤:(执行以下代码,可以获取具体失败原因)

cpp 复制代码
  this->connectToHostEncrypted(qstrIP, port);
  bool b = this->waitForEncrypted();
  if (!b) {
    qDebug() << "connect error is " << this->errorString();
  }

解决办法:

cpp 复制代码
先:this->setProxy(QNetworkProxy::NoProxy);

后:this->connectToHostEncrypted(qstrIP, port);
相关推荐
BlackNight1686 个月前
使用 Qt 设计师给工具栏添加图片按钮(来自ChatGPT)
c++ qt6
BlackNight1686 个月前
在进行Qt程序的国际化时,编写字符串应当注意以下几点(ChatGPT)
c++ qt6
BlackNight16810 个月前
Qt designer中使用QSplitter创建推拉窗口,类似 Cobalt Strike 中主界面上下推拉的窗口
c++ qt6
BlackNight1681 年前
Qt6,使用 UI 界面完成命令执行自动化的设计
c++ qt6