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. Why the post method doesn't send the json to API Rest in QT5?
Forum Updated to NodeBB v4.3 + New Features

Why the post method doesn't send the json to API Rest in QT5?

Scheduled Pinned Locked Moved Unsolved General and Desktop
23 Posts 4 Posters 7.6k 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.
  • T trip

    @p3c0 I left it running for a while, but the replyFinished method seems as if it were not called

    raven-worxR Offline
    raven-worxR Offline
    raven-worx
    Moderators
    wrote on last edited by
    #10

    @trip
    since it looks like you are posting to a https url, do you have OpenSSL properly configured?

    --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
    If you have a question please use the forum so others can benefit from the solution in the future

    1 Reply Last reply
    1
    • T Offline
      T Offline
      trip
      wrote on last edited by
      #11

      @raven-worx
      No, I have not configured. Do you think is the problem?

      raven-worxR 1 Reply Last reply
      0
      • T trip

        @raven-worx
        No, I have not configured. Do you think is the problem?

        raven-worxR Offline
        raven-worxR Offline
        raven-worx
        Moderators
        wrote on last edited by
        #12

        @trip
        yes ;)
        But you should get some SSL errors printed in the debugger console (during initialization)

        On what system are you developing on?

        --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
        If you have a question please use the forum so others can benefit from the solution in the future

        1 Reply Last reply
        1
        • T Offline
          T Offline
          trip
          wrote on last edited by
          #13

          @raven-worx
          Okay. What is the right flow to follow to configure OpenSSL correctly?
          In fact I like errors

          qt.network.ssl: QSslSocket: can not resolve SSLv2_client_method
          qt.network.ssl: QSslSocket: can not resolve SSLv2_server_method
          

          I'm using Ubuntu 16 and Qt Creator 4

          raven-worxR 1 Reply Last reply
          0
          • T trip

            @raven-worx
            Okay. What is the right flow to follow to configure OpenSSL correctly?
            In fact I like errors

            qt.network.ssl: QSslSocket: can not resolve SSLv2_client_method
            qt.network.ssl: QSslSocket: can not resolve SSLv2_server_method
            

            I'm using Ubuntu 16 and Qt Creator 4

            raven-worxR Offline
            raven-worxR Offline
            raven-worx
            Moderators
            wrote on last edited by raven-worx
            #14

            @trip
            yea, about those errors i was talking.
            Since you are on Ubuntu simply install the OpenSSL binaries (via the system package manager) and it should work.

            --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
            If you have a question please use the forum so others can benefit from the solution in the future

            1 Reply Last reply
            0
            • T Offline
              T Offline
              trip
              wrote on last edited by
              #15

              @raven-worx
              I had already installed the package. I run the program but I always make the same error.

              1 Reply Last reply
              0
              • T Offline
                T Offline
                trip
                wrote on last edited by
                #16

                @raven-worx
                Should I use the connectToHostEncrypted method of the QNetworkAccessManager class?

                T raven-worxR 2 Replies Last reply
                0
                • T trip

                  @raven-worx
                  Should I use the connectToHostEncrypted method of the QNetworkAccessManager class?

                  T Offline
                  T Offline
                  TheGringerEye
                  wrote on last edited by
                  #17

                  @trip For using https enough call message get/put/post with https urls, for example

                  QNetworkRequest req;
                  req.setUrl(QUrl("https://cloud-api.yandex.net/v1/disk/"));
                  

                  and this is working in my program.

                  I try to learn English.

                  1 Reply Last reply
                  0
                  • T trip

                    @raven-worx
                    Should I use the connectToHostEncrypted method of the QNetworkAccessManager class?

                    raven-worxR Offline
                    raven-worxR Offline
                    raven-worx
                    Moderators
                    wrote on last edited by
                    #18

                    @trip

                    it has to be in a path where your application can find it.

                    no not needed. Should all happen internally. Just make sure your application can find the OpenSSL binaries.

                    --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
                    If you have a question please use the forum so others can benefit from the solution in the future

                    T 1 Reply Last reply
                    0
                    • raven-worxR raven-worx

                      @trip

                      it has to be in a path where your application can find it.

                      no not needed. Should all happen internally. Just make sure your application can find the OpenSSL binaries.

                      T Offline
                      T Offline
                      TheGringerEye
                      wrote on last edited by
                      #19

                      @raven-worx for example, we can put together with the executable file.

                      I try to learn English.

                      1 Reply Last reply
                      0
                      • T Offline
                        T Offline
                        trip
                        wrote on last edited by
                        #20

                        @raven-worx
                        I tried to do another project where there is just main.cpp and where do

                        #include <QCoreApplication>
                        #include <QNetworkAccessManager>
                        #include <QNetworkReply>
                        #include <QNetworkRequest>
                        #include <QDebug>
                        #include <QObject>
                        #include <QByteArray>
                        #include <QUrl>
                        
                        
                        void replyFinished(QNetworkReply *reply)
                        {
                            reply->deleteLater();
                            qDebug() << "reply delete!";
                            qDebug() << "https post_request done!";
                        }
                        
                        int main(int argc, char *argv[])
                        {
                            QCoreApplication a(argc, argv);
                        
                            QNetworkAccessManager *manager = new QNetworkAccessManager();
                        
                            QNetworkRequest request(QUrl ("https://cryptic-reaches-94837.herokuapp.com/data/"));
                        
                            request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
                        
                            QObject::connect(manager, &QNetworkAccessManager::finished, replyFinished);
                        
                            quint8 speed = 0x12;
                            quint8 acceleration = 0x5b;
                        
                            QString json = QString("{\"speed\":\"%1\",\"acceleration\":\"%2\"}").arg(speed).arg(acceleration);
                        
                            manager->post(request, json.toUtf8());
                        
                            return a.exec();
                        }
                        

                        and it's work!!!
                        but how come if add this piece of code to my project, why does not work to me?

                        raven-worxR 1 Reply Last reply
                        0
                        • T trip

                          @raven-worx
                          I tried to do another project where there is just main.cpp and where do

                          #include <QCoreApplication>
                          #include <QNetworkAccessManager>
                          #include <QNetworkReply>
                          #include <QNetworkRequest>
                          #include <QDebug>
                          #include <QObject>
                          #include <QByteArray>
                          #include <QUrl>
                          
                          
                          void replyFinished(QNetworkReply *reply)
                          {
                              reply->deleteLater();
                              qDebug() << "reply delete!";
                              qDebug() << "https post_request done!";
                          }
                          
                          int main(int argc, char *argv[])
                          {
                              QCoreApplication a(argc, argv);
                          
                              QNetworkAccessManager *manager = new QNetworkAccessManager();
                          
                              QNetworkRequest request(QUrl ("https://cryptic-reaches-94837.herokuapp.com/data/"));
                          
                              request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
                          
                              QObject::connect(manager, &QNetworkAccessManager::finished, replyFinished);
                          
                              quint8 speed = 0x12;
                              quint8 acceleration = 0x5b;
                          
                              QString json = QString("{\"speed\":\"%1\",\"acceleration\":\"%2\"}").arg(speed).arg(acceleration);
                          
                              manager->post(request, json.toUtf8());
                          
                              return a.exec();
                          }
                          

                          and it's work!!!
                          but how come if add this piece of code to my project, why does not work to me?

                          raven-worxR Offline
                          raven-worxR Offline
                          raven-worx
                          Moderators
                          wrote on last edited by
                          #21

                          @trip
                          but thats a different URL now?!
                          Check the returned response error again.

                          --- SUPPORT REQUESTS VIA CHAT WILL BE IGNORED ---
                          If you have a question please use the forum so others can benefit from the solution in the future

                          1 Reply Last reply
                          0
                          • T Offline
                            T Offline
                            trip
                            wrote on last edited by
                            #22

                            @raven-worx
                            not only here I left explicit

                            1 Reply Last reply
                            0
                            • T Offline
                              T Offline
                              trip
                              wrote on last edited by
                              #23

                              @raven-worx
                              I think the problem of my code is that networking events are not processed by QCoreApplication :: exec () and then, because the execution is always nested in the cycles and never returns to the main unless there is an error , I do not run networking events. How can I solve this problem?

                              1 Reply Last reply
                              0

                              • Login

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