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. Sending parameters by get method to rest api
Forum Updated to NodeBB v4.3 + New Features

Sending parameters by get method to rest api

Scheduled Pinned Locked Moved Solved General and Desktop
40 Posts 5 Posters 5.4k Views 2 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.
  • SGaistS SGaist

    The best place is the documentation: QNetworkReply::errorOccured.

    ali-aydinA Offline
    ali-aydinA Offline
    ali-aydin
    wrote on last edited by ali-aydin
    #14

    @SGaist
    @Axel-Spoerl
    I changed slot that connected to finish signal like this :

    QByteArray bytes = R->readAll();
        QString str = QString::fromUtf8(bytes.data(), bytes.size());
        int statusCode = R->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();
        qDebug() << QVariant(statusCode).toString();
    

    and return 403 code it means forbidden.why?

    1 Reply Last reply
    0
    • Axel SpoerlA Offline
      Axel SpoerlA Offline
      Axel Spoerl
      Moderators
      wrote on last edited by
      #15

      403 is what your server sends. It means that your parameters are incorrect or the server itself has (due to misconfiguration) no access to the requested resource.
      Have you tried the call with postman or a browser?

      Software Engineer
      The Qt Company, Oslo

      ali-aydinA 1 Reply Last reply
      0
      • Axel SpoerlA Axel Spoerl

        403 is what your server sends. It means that your parameters are incorrect or the server itself has (due to misconfiguration) no access to the requested resource.
        Have you tried the call with postman or a browser?

        ali-aydinA Offline
        ali-aydinA Offline
        ali-aydin
        wrote on last edited by
        #16

        @Axel-Spoerl
        Yes I tried by postman and is ok

        JonBJ 1 Reply Last reply
        0
        • ali-aydinA ali-aydin

          @Axel-Spoerl
          Yes I tried by postman and is ok

          JonBJ Offline
          JonBJ Offline
          JonB
          wrote on last edited by
          #17

          @ali-aydin
          Your platform/web server may/should have the ability to log all requests/responses to a log file? You might switch that on and see if anything helpful there?

          ali-aydinA 1 Reply Last reply
          0
          • JonBJ JonB

            @ali-aydin
            Your platform/web server may/should have the ability to log all requests/responses to a log file? You might switch that on and see if anything helpful there?

            ali-aydinA Offline
            ali-aydinA Offline
            ali-aydin
            wrote on last edited by
            #18

            @JonB
            OS is Windows 10 and qt 5.15.2

            JonBJ 1 Reply Last reply
            0
            • ali-aydinA ali-aydin

              @JonB
              OS is Windows 10 and qt 5.15.2

              JonBJ Offline
              JonBJ Offline
              JonB
              wrote on last edited by
              #19

              @ali-aydin Look in your web server's documentation.

              ali-aydinA 1 Reply Last reply
              0
              • JonBJ JonB

                @ali-aydin Look in your web server's documentation.

                ali-aydinA Offline
                ali-aydinA Offline
                ali-aydin
                wrote on last edited by
                #20

                @JonB
                API's documentation?

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  mchinand
                  wrote on last edited by
                  #21

                  I think you have to add 'Basic ' before your token when you set the Authorization header (or 'Bearer ' if you are doing bearer token auth). If things are working in Postman, check the 'Headers' tab of your request as to what is the actual value being sent for the Authorization.

                  ali-aydinA 1 Reply Last reply
                  0
                  • M mchinand

                    I think you have to add 'Basic ' before your token when you set the Authorization header (or 'Bearer ' if you are doing bearer token auth). If things are working in Postman, check the 'Headers' tab of your request as to what is the actual value being sent for the Authorization.

                    ali-aydinA Offline
                    ali-aydinA Offline
                    ali-aydin
                    wrote on last edited by ali-aydin
                    #22

                    @mchinand
                    Bearer must be added to the token.
                    in postman there is no header
                    in authorization tab
                    only added token and in parameters tab is only one parameter :KalaCode
                    in body tab username,password and grant_type
                    in the qt when I want to authenticate by

                    QUrl url("http://localhost:594444/api/authenticate");
                    

                    it returns "Hello"
                    but when i changing url to

                    QUrl url("http://localhost:594444/api/Getmojodi" );
                    

                    it does not work

                    1 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      mchinand
                      wrote on last edited by mchinand
                      #23

                      I meant the 'Headers' tab of the Postman request:
                      b0973db6-0abc-4a60-9d8e-5e0955d007f9-image.png

                      The authorization header value above was automatically set when I added a (junk) username and password in the Auth tab:

                      a33e651c-8868-47c3-b96e-f7569e008cc0-image.png

                      ali-aydinA 1 Reply Last reply
                      0
                      • M mchinand

                        I meant the 'Headers' tab of the Postman request:
                        b0973db6-0abc-4a60-9d8e-5e0955d007f9-image.png

                        The authorization header value above was automatically set when I added a (junk) username and password in the Auth tab:

                        a33e651c-8868-47c3-b96e-f7569e008cc0-image.png

                        ali-aydinA Offline
                        ali-aydinA Offline
                        ali-aydin
                        wrote on last edited by
                        #24

                        @mchinand
                        there is no problem in postman
                        problem is that how can we do authorization in qt?
                        i think yhe main problem is this

                        1 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          mchinand
                          wrote on last edited by
                          #25

                          Are you setting the Authorization the same in Qt as the value it is set in Postman? Your variables are 'basic_authorization' and 'token', is token just the token or is the token type prepended to it ('Basic ' or 'Bearer ')? Your variable is 'basic_authorization' but in your prior message, you mention adding 'Bearer' before the token, which auth method are you using?

                          ali-aydinA 1 Reply Last reply
                          0
                          • M mchinand

                            Are you setting the Authorization the same in Qt as the value it is set in Postman? Your variables are 'basic_authorization' and 'token', is token just the token or is the token type prepended to it ('Basic ' or 'Bearer ')? Your variable is 'basic_authorization' but in your prior message, you mention adding 'Bearer' before the token, which auth method are you using?

                            ali-aydinA Offline
                            ali-aydinA Offline
                            ali-aydin
                            wrote on last edited by
                            #26

                            @mchinand
                            i'm using url.setRawHeader() for add token to url and
                            and adding bearer to token
                            i don't use any auth method
                            how to use that?

                            M 1 Reply Last reply
                            0
                            • ali-aydinA ali-aydin

                              @mchinand
                              i'm using url.setRawHeader() for add token to url and
                              and adding bearer to token
                              i don't use any auth method
                              how to use that?

                              M Offline
                              M Offline
                              mchinand
                              wrote on last edited by
                              #27

                              Are you doing Basic (username/password) or Bearer Token? What method are you selecting in Postman? What is the value of your token variable, post the string but modify the actual token part.

                              ali-aydinA 1 Reply Last reply
                              0
                              • M mchinand

                                Are you doing Basic (username/password) or Bearer Token? What method are you selecting in Postman? What is the value of your token variable, post the string but modify the actual token part.

                                ali-aydinA Offline
                                ali-aydinA Offline
                                ali-aydin
                                wrote on last edited by
                                #28

                                @mchinand
                                in postman i selected bearer method
                                and token has three part access_ token,token_type and expire_date
                                in qt i added "bearer" to access_token then adding this token to url.setRawHeader()

                                1 Reply Last reply
                                0
                                • M Offline
                                  M Offline
                                  mchinand
                                  wrote on last edited by
                                  #29

                                  What is the value of your token variable, post the string but modify the actual token part.

                                  ali-aydinA 1 Reply Last reply
                                  0
                                  • M mchinand

                                    What is the value of your token variable, post the string but modify the actual token part.

                                    ali-aydinA Offline
                                    ali-aydinA Offline
                                    ali-aydin
                                    wrote on last edited by ali-aydin
                                    #30

                                    @mchinand
                                    this is token file

                                    {
                                       "access_token": "1zVIXlpahfvS82xJEN2l2L7vPaUvX-AqHD5w_JmrSqHtV_hHdk6dKqdyFx6D62p1jPIcPPMdlVlsOlS4ZcoVUcsnrzTv8Ly42OLINofJYfdkVoitAQGdCzX7vYlnWBYNrxAOsMJiCdbjvONC2MftONA_hxhcsf8D3ax24buIupEkqPUoaBWUd6nx7HTx3Axo8ZdHZhM48SS68CczY-EDVUTDQSvYxv_4gQCxf_uWPuTrjTF2jwCbLfrCmhK7O_WJ07XmV-PYTj2jV7E35CpeFtx6W_FePFlhzim9qLv",
                                       "token_type": "bearer",
                                       "expires_in": 86399
                                    }
                                    
                                    1 Reply Last reply
                                    0
                                    • M Offline
                                      M Offline
                                      mchinand
                                      wrote on last edited by
                                      #31

                                      Try

                                      QString token = <access_token from file>
                                      token.prepend("Bearer ");
                                      req1.setRawHeader(QByteArrayLiteral("Authorization"), token.toUtf8());
                                      

                                      I don't think you want the 'toBase64()' that you have in your code above.

                                      ali-aydinA 1 Reply Last reply
                                      0
                                      • M mchinand

                                        Try

                                        QString token = <access_token from file>
                                        token.prepend("Bearer ");
                                        req1.setRawHeader(QByteArrayLiteral("Authorization"), token.toUtf8());
                                        

                                        I don't think you want the 'toBase64()' that you have in your code above.

                                        ali-aydinA Offline
                                        ali-aydinA Offline
                                        ali-aydin
                                        wrote on last edited by
                                        #32

                                        @mchinand
                                        nop it is not ok

                                        1 Reply Last reply
                                        0
                                        • SGaistS Offline
                                          SGaistS Offline
                                          SGaist
                                          Lifetime Qt Champion
                                          wrote on last edited by
                                          #33

                                          Check the request sent by postman and the one from your application and compare for differences.

                                          Interested in AI ? www.idiap.ch
                                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                          ali-aydinA 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