Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. HTTP
Forum Updated to NodeBB v4.3 + New Features

HTTP

Scheduled Pinned Locked Moved Solved General and Desktop
http getpostserver - client
13 Posts 3 Posters 4.1k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Prince_0912P Offline
    Prince_0912P Offline
    Prince_0912
    wrote on last edited by
    #4

    Hi @Pranit-Patil
    For HTTP in Qt there is QtNetwork module. for that you have to inlcude
    QT += network in .pro file.

    after this you can add
    #include <QtNetwork> in your file.

    Then you can use functionalities of QtNetwork.

    Hierarchy of this is,

    QNetworkRequest request(QUrl(“http://example.com/exampleapi”));

    request.setHeader(QNetworkRequest::ContentTypeHeader, “application/xyz”);

    QNetworkAccessManager nam;

    QNetworkReply *reply = nam.post(request, QByteArray &data);

    while(!reply->isFinished())
    {
    qApp->processEvents();
    }
    QByteArray response_data = reply->readAll();

    reply->deleteLater();

    1 Reply Last reply
    3
    • Prince_0912P Offline
      Prince_0912P Offline
      Prince_0912
      wrote on last edited by Prince_0912
      #5

      For set header you can,

      • void QNetworkRequest::setRawHeader(const QByteArray & headerName, const QByteArray & headerValue);

      Sets the value of the known header header to be value, overriding any previously set headers.

      • void QNetworkRequest::setRawHeader(const QByteArray & headerName, const QByteArray & headerValue)

      Sets the header headerName to be of value headerValue. If headerName corresponds to a known header (see QNetworkRequest::KnownHeaders), the raw format will be parsed and the corresponding "cooked" header will be set as well.

      for example:
      request.setRawHeader(QByteArray("Last-Modified"), QByteArray("Sun, 06 Nov 1994 08:49:37 GMT"));

      Pranit PatilP 2 Replies Last reply
      0
      • Pranit PatilP Offline
        Pranit PatilP Offline
        Pranit Patil
        wrote on last edited by
        #6

        I am trying following code but not getting error like-
        qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init
        qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
        qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
        qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error

        void MainWindow::on_pushButton_clicked()
        {
        QNetworkAccessManager * mgr = new QNetworkAccessManager(this); connect(mgr,SIGNAL(finished(QNetworkReply*)),this,SLOT(onfinish(QNetworkReply*)));
        connect(mgr,SIGNAL(finished(QNetworkReply*)),mgr,SLOT(deleteLater()));

        QByteArray postData =(" user_token":{"Ej14qoqnm9PxZJWXXHPIzX8L2owzQuIPHA0QewilGs8fzScwp6XoPnsQ4KUb71iv","qr_code":"}");
        QUrl serviceURL("https://dev.datoms.io/api/trade/initialization/create_device"); QNetworkRequest request(serviceURL);
        request.setRawHeader("Post", "/api/trade/initialization/create_device HTTP/1.1"); request.setRawHeader("Host:", "dev.datoms.io");
        request.setRawHeader("Cache-Control:","no-cache ");
        mgr->post(request, postData);
        }
        void MainWindow::onfinish(QNetworkReply *rep)
        {
        QByteArray bts = rep->readAll();
        ui->textBrowser->insertPlainText(bts);
        }

        @Embedded Software Developer
        God has given you one face, and you make yourself another.

        1 Reply Last reply
        0
        • Prince_0912P Prince_0912

          For set header you can,

          • void QNetworkRequest::setRawHeader(const QByteArray & headerName, const QByteArray & headerValue);

          Sets the value of the known header header to be value, overriding any previously set headers.

          • void QNetworkRequest::setRawHeader(const QByteArray & headerName, const QByteArray & headerValue)

          Sets the header headerName to be of value headerValue. If headerName corresponds to a known header (see QNetworkRequest::KnownHeaders), the raw format will be parsed and the corresponding "cooked" header will be set as well.

          for example:
          request.setRawHeader(QByteArray("Last-Modified"), QByteArray("Sun, 06 Nov 1994 08:49:37 GMT"));

          Pranit PatilP Offline
          Pranit PatilP Offline
          Pranit Patil
          wrote on last edited by
          #7

          @Prince_0912 thanks for quick response .
          i will try to implement

          @Embedded Software Developer
          God has given you one face, and you make yourself another.

          1 Reply Last reply
          0
          • Prince_0912P Prince_0912

            For set header you can,

            • void QNetworkRequest::setRawHeader(const QByteArray & headerName, const QByteArray & headerValue);

            Sets the value of the known header header to be value, overriding any previously set headers.

            • void QNetworkRequest::setRawHeader(const QByteArray & headerName, const QByteArray & headerValue)

            Sets the header headerName to be of value headerValue. If headerName corresponds to a known header (see QNetworkRequest::KnownHeaders), the raw format will be parsed and the corresponding "cooked" header will be set as well.

            for example:
            request.setRawHeader(QByteArray("Last-Modified"), QByteArray("Sun, 06 Nov 1994 08:49:37 GMT"));

            Pranit PatilP Offline
            Pranit PatilP Offline
            Pranit Patil
            wrote on last edited by
            #8

            @Prince_0912
            simply i implement
            in .cpp file
            void MainWindow::on_pushButton_clicked()
            {
            QNetworkRequest request(QUrl("https://dev.datoms.io/api/trade/initialization/create_device"));

            //request.setHeader(QNetworkRequest::ContentTypeHeader, "application/xyz");
            
            QNetworkAccessManager manager;
            QByteArray data =("user_token\":{\"Ej14qoqnm9PxZJWXXHPIzX8L2owzQuIPHA0QewilGs8fzScwp6XoPnsQ4KUb71iv\",\"qr_code\":\"QGt0Z9Q5J\",\"circuit_version\":\"1.0.0\",\"device_type\":1\"}");
            
            QNetworkReply *reply = manager.post(request, data);
            
            while(!reply->isFinished())
            {
            qApp->processEvents();
            }
            QByteArray response_data = reply->readAll();
            
            reply->deleteLater();
            

            }

            application Builded but not geeting any response from server
            i got this errors
            qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method
            qt.network.ssl: QSslSocket: cannot call unresolved function SSL_CTX_new
            qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init
            qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
            qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error

            @Embedded Software Developer
            God has given you one face, and you make yourself another.

            1 Reply Last reply
            0
            • Prince_0912P Offline
              Prince_0912P Offline
              Prince_0912
              wrote on last edited by
              #9

              Hi @Pranit-Patil ,

              These error you can solve by this link .

              OR

              You can refer this link for implementing in another.

              1 Reply Last reply
              3
              • Pranit PatilP Offline
                Pranit PatilP Offline
                Pranit Patil
                wrote on last edited by
                #10

                i m getting this type of issues-
                qt.network.ssl: QSslSocket: cannot call unresolved function SSLv23_client_method
                qt.network.ssl: QSslSocket: cannot call unresolved function SSL_CTX_new
                qt.network.ssl: QSslSocket: cannot call unresolved function SSL_library_init
                qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
                qt.network.ssl: QSslSocket: cannot call unresolved function ERR_get_error
                "Unable to init SSL Context:

                i already installed OpenSSL 1.0.2e (32bit) but again same problem faced
                anyone knows help me

                Thank You.

                @Embedded Software Developer
                God has given you one face, and you make yourself another.

                1 Reply Last reply
                0
                • Pranit PatilP Offline
                  Pranit PatilP Offline
                  Pranit Patil
                  wrote on last edited by
                  #11

                  At last, I found the solution. click on following link and download latest version of Win32 OpenSSL v1.1.0h note:Dont download light version ,download 30 MB file

                  http://slproweb.com/products/Win32OpenSSL.html

                  after installing OpenSSL opy the following three dll's in the the directory containing your binary file/Debug folder where your .exe file present.

                  • libeay32.dll
                  • libssl32.dll
                  • ssleay32.dll

                  I solved my problem this one

                  @Embedded Software Developer
                  God has given you one face, and you make yourself another.

                  1 Reply Last reply
                  1
                  • Prince_0912P Offline
                    Prince_0912P Offline
                    Prince_0912
                    wrote on last edited by
                    #12

                    Ok finally you got solution. Now make this Topic to Mark as Solved.
                    Go to right hand side of page -> click on Topic Tools -> Mark as Solved.
                    Thank you.

                    Pranit PatilP 1 Reply Last reply
                    0
                    • Prince_0912P Prince_0912

                      Ok finally you got solution. Now make this Topic to Mark as Solved.
                      Go to right hand side of page -> click on Topic Tools -> Mark as Solved.
                      Thank you.

                      Pranit PatilP Offline
                      Pranit PatilP Offline
                      Pranit Patil
                      wrote on last edited by
                      #13

                      @Prince_0912 Thank you for your guidlines

                      @Embedded Software Developer
                      God has given you one face, and you make yourself another.

                      1 Reply Last reply
                      1

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved