HTTP POST中缺少的内容类型.QT使用Webview

content-type missing in HTTP POST. QT using Webview

本文关键字:类型 QT 使用 Webview POST HTTP      更新时间:2023-10-16

大家好,这是我的第一篇文章,不好意思,我是个新手。

我正试图使一个应用程序,我有Trayicon,点击它会打开一个无边界的Qwidget,其中一个网页是开放的(ip地址)。我已经编程了,但后来我不得不重做,因为我切换到64x机器,它是针对32x机器的。我还将QT从4.8升级到5.5,将q creator从2.5升级到3.5。
在我的旧PC上的旧版本,它工作得很好,我也有一个我的应用程序的exe文件,我只是想做一些周。
现在我得到这个错误,每当我试图通过QWebview连接到网页。

错误:


HTTP POST中缺少的

内容类型,默认为application/x-www-form-urlencoded。使用QNetworkRequest::setHeader()来解决这个问题。

HTTP POST中缺少的

内容类型,默认为application/x-www-form-urlencoded。使用QNetworkRequest::setHeader()来解决这个问题。

jitJITStubs.cpp(2597): JSC::cti_op_get_by_val


代码如下:

QWidget *wind = new QWidget;
    view = new QWebView(wind);
    view->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
    view->load(urlMaxi);
    if(goFullscreen)
    {
        QDesktopWidget desktop;
        QRect mainScreenSize = desktop.availableGeometry(desktop.primaryScreen());
        wind->setWindowIcon(QIcon(":/icons/myico.png"));
        view->setFixedHeight(mainScreenSize.height());
        view->setFixedWidth(mainScreenSize.width());
        wind->showFullScreen();
        view->showFullScreen();
    }
    else
    {
       wind->setWindowTitle("Room control");
       wind->setWindowIcon(QIcon(":/icons/myico.png"));
       wind->setFixedHeight(heightMaxi);
       wind->setFixedWidth(widthMaxi);
       view->setFixedHeight(heightMaxi);
       view->setFixedWidth(widthMaxi);
       wind->show();
       view->showMaximized();
    }
    connect(view,SIGNAL(loadFinished(bool)),this,SLOT(CheckPage()));

这是我想连接到网页的第二部分,非常相似。

switch(reason)
 case QSystemTrayIcon::Trigger:
  {
    QWidget *wind = new QWidget;
    view = new QWebView(wind);
    view->setSizePolicy(QSizePolicy::Expanding,QSizePolicy::Expanding);
    wind->setWindowFlags(Qt::CustomizeWindowHint);
    view->load(urlMini);
    wind->setFixedHeight(heightMini);
    wind->setFixedWidth(widthMini);
    view->setFixedHeight(heightMini);
    view->setFixedWidth(widthMini);
    wind->move(QCursor::pos().x()-widthMini,QCursor::pos().y()-heightMini-30);
    QIcon icon(":/icons/myico.png");
    wind->setWindowIcon(icon);
    wind->show();
    view->show();
    view->setFocus();
    view->activateWindow();
    open1=true;
    connect(view,SIGNAL(loadFinished(bool)),this,SLOT(CheckPage()));
  }

你知道怎么解决吗?

所以我终于解决了!

QWebEngineView代替QWebView,效果很好