Net https requests gives me what appears to be hex









up vote
1
down vote

favorite












In ruby, I'm doing an HTTP GET request to a website that uses SSL, and for some reason it only gives me the data I need when proxying it through an HTTP proxy (burp suite).



For example:



 if uri.port == 443
response = Net::HTTP.start(uri.host, uri.port, "172.16.38.182", "8080", :use_ssl => true, :verify_mode => OpenSSL::SSL::VERIFY_NONE)
else
response = Net::HTTP.start(uri.host, uri.port)
end


by proxying this through BurpSuite, I can see the data that I need. But if I try this below:



 if uri.port == 443
response = Net::HTTP.start(uri.host, uri.port, :use_ssl => true, :verify_mode => OpenSSL::SSL::VERIFY_NONE)
else
response = Net::HTTP.start(uri.host, uri.port)
end


then I get hex characters that looks like this:



enter image description here



Any idea why this would be the case? Is it because of the specific SSL/TLS version used or something and the web application proxy knows how to interact with it but net/https doesn't? can't figure this out.










share|improve this question

























    up vote
    1
    down vote

    favorite












    In ruby, I'm doing an HTTP GET request to a website that uses SSL, and for some reason it only gives me the data I need when proxying it through an HTTP proxy (burp suite).



    For example:



     if uri.port == 443
    response = Net::HTTP.start(uri.host, uri.port, "172.16.38.182", "8080", :use_ssl => true, :verify_mode => OpenSSL::SSL::VERIFY_NONE)
    else
    response = Net::HTTP.start(uri.host, uri.port)
    end


    by proxying this through BurpSuite, I can see the data that I need. But if I try this below:



     if uri.port == 443
    response = Net::HTTP.start(uri.host, uri.port, :use_ssl => true, :verify_mode => OpenSSL::SSL::VERIFY_NONE)
    else
    response = Net::HTTP.start(uri.host, uri.port)
    end


    then I get hex characters that looks like this:



    enter image description here



    Any idea why this would be the case? Is it because of the specific SSL/TLS version used or something and the web application proxy knows how to interact with it but net/https doesn't? can't figure this out.










    share|improve this question























      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      In ruby, I'm doing an HTTP GET request to a website that uses SSL, and for some reason it only gives me the data I need when proxying it through an HTTP proxy (burp suite).



      For example:



       if uri.port == 443
      response = Net::HTTP.start(uri.host, uri.port, "172.16.38.182", "8080", :use_ssl => true, :verify_mode => OpenSSL::SSL::VERIFY_NONE)
      else
      response = Net::HTTP.start(uri.host, uri.port)
      end


      by proxying this through BurpSuite, I can see the data that I need. But if I try this below:



       if uri.port == 443
      response = Net::HTTP.start(uri.host, uri.port, :use_ssl => true, :verify_mode => OpenSSL::SSL::VERIFY_NONE)
      else
      response = Net::HTTP.start(uri.host, uri.port)
      end


      then I get hex characters that looks like this:



      enter image description here



      Any idea why this would be the case? Is it because of the specific SSL/TLS version used or something and the web application proxy knows how to interact with it but net/https doesn't? can't figure this out.










      share|improve this question













      In ruby, I'm doing an HTTP GET request to a website that uses SSL, and for some reason it only gives me the data I need when proxying it through an HTTP proxy (burp suite).



      For example:



       if uri.port == 443
      response = Net::HTTP.start(uri.host, uri.port, "172.16.38.182", "8080", :use_ssl => true, :verify_mode => OpenSSL::SSL::VERIFY_NONE)
      else
      response = Net::HTTP.start(uri.host, uri.port)
      end


      by proxying this through BurpSuite, I can see the data that I need. But if I try this below:



       if uri.port == 443
      response = Net::HTTP.start(uri.host, uri.port, :use_ssl => true, :verify_mode => OpenSSL::SSL::VERIFY_NONE)
      else
      response = Net::HTTP.start(uri.host, uri.port)
      end


      then I get hex characters that looks like this:



      enter image description here



      Any idea why this would be the case? Is it because of the specific SSL/TLS version used or something and the web application proxy knows how to interact with it but net/https doesn't? can't figure this out.







      ruby ssl https proxy






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Nov 10 at 5:54









      LewlSauce

      98111024




      98111024






















          1 Answer
          1






          active

          oldest

          votes

















          up vote
          2
          down vote













          Turns out the reason this looks the way it does is because it's returned with gzip encoding.



          I was able to successfully decode it by using the following:



           if response['content-encoding'] == 'gzip'
          gz = Zlib::GzipReader.new(StringIO.new(response.body.to_s))
          uncompressed_string = gz.read
          end





          share|improve this answer




















            Your Answer






            StackExchange.ifUsing("editor", function ()
            StackExchange.using("externalEditor", function ()
            StackExchange.using("snippets", function ()
            StackExchange.snippets.init();
            );
            );
            , "code-snippets");

            StackExchange.ready(function()
            var channelOptions =
            tags: "".split(" "),
            id: "1"
            ;
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function()
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled)
            StackExchange.using("snippets", function()
            createEditor();
            );

            else
            createEditor();

            );

            function createEditor()
            StackExchange.prepareEditor(
            heartbeatType: 'answer',
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader:
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            ,
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            );



            );













            draft saved

            draft discarded


















            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53236372%2fnet-https-requests-gives-me-what-appears-to-be-hex%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            2
            down vote













            Turns out the reason this looks the way it does is because it's returned with gzip encoding.



            I was able to successfully decode it by using the following:



             if response['content-encoding'] == 'gzip'
            gz = Zlib::GzipReader.new(StringIO.new(response.body.to_s))
            uncompressed_string = gz.read
            end





            share|improve this answer
























              up vote
              2
              down vote













              Turns out the reason this looks the way it does is because it's returned with gzip encoding.



              I was able to successfully decode it by using the following:



               if response['content-encoding'] == 'gzip'
              gz = Zlib::GzipReader.new(StringIO.new(response.body.to_s))
              uncompressed_string = gz.read
              end





              share|improve this answer






















                up vote
                2
                down vote










                up vote
                2
                down vote









                Turns out the reason this looks the way it does is because it's returned with gzip encoding.



                I was able to successfully decode it by using the following:



                 if response['content-encoding'] == 'gzip'
                gz = Zlib::GzipReader.new(StringIO.new(response.body.to_s))
                uncompressed_string = gz.read
                end





                share|improve this answer












                Turns out the reason this looks the way it does is because it's returned with gzip encoding.



                I was able to successfully decode it by using the following:



                 if response['content-encoding'] == 'gzip'
                gz = Zlib::GzipReader.new(StringIO.new(response.body.to_s))
                uncompressed_string = gz.read
                end






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 10 at 6:56









                LewlSauce

                98111024




                98111024



























                    draft saved

                    draft discarded
















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.





                    Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                    Please pay close attention to the following guidance:


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid


                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.

                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function ()
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53236372%2fnet-https-requests-gives-me-what-appears-to-be-hex%23new-answer', 'question_page');

                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Use pre created SQLite database for Android project in kotlin

                    Darth Vader #20

                    Ondo