How to use the requests module to skip connection timeout urls











up vote
2
down vote

favorite












Hi how can i use the request module to go through a bunch of URLs and if a url in the list takes more time to load or a connection timeout how can i skip that particular url and skip to the next one



def req():
with open('demofile.txt','r') as http:
for url in http.readlines():
req = url.strip()
print(req)
page=requests.get("http://"+req,verify=False)
if page.status_code == 400:
break
else:
continue
time.sleep(1)









share|improve this question


























    up vote
    2
    down vote

    favorite












    Hi how can i use the request module to go through a bunch of URLs and if a url in the list takes more time to load or a connection timeout how can i skip that particular url and skip to the next one



    def req():
    with open('demofile.txt','r') as http:
    for url in http.readlines():
    req = url.strip()
    print(req)
    page=requests.get("http://"+req,verify=False)
    if page.status_code == 400:
    break
    else:
    continue
    time.sleep(1)









    share|improve this question
























      up vote
      2
      down vote

      favorite









      up vote
      2
      down vote

      favorite











      Hi how can i use the request module to go through a bunch of URLs and if a url in the list takes more time to load or a connection timeout how can i skip that particular url and skip to the next one



      def req():
      with open('demofile.txt','r') as http:
      for url in http.readlines():
      req = url.strip()
      print(req)
      page=requests.get("http://"+req,verify=False)
      if page.status_code == 400:
      break
      else:
      continue
      time.sleep(1)









      share|improve this question













      Hi how can i use the request module to go through a bunch of URLs and if a url in the list takes more time to load or a connection timeout how can i skip that particular url and skip to the next one



      def req():
      with open('demofile.txt','r') as http:
      for url in http.readlines():
      req = url.strip()
      print(req)
      page=requests.get("http://"+req,verify=False)
      if page.status_code == 400:
      break
      else:
      continue
      time.sleep(1)






      python python-3.x python-requests






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 2 days ago









      Rahul

      243




      243
























          1 Answer
          1






          active

          oldest

          votes

















          up vote
          2
          down vote



          accepted










          You can raise exception if there is a timeout and continue using finally for next request,



          import requests
          import logging

          timeout = 0.00001

          try:
          response = requests.get(url="https://google.com", timeout=timeout)
          except requests.exceptions.ConnectTimeout as e:
          logging.error("Time out!")
          finally:
          # continue request here
          print("hello")


          # output,
          ERROR:root:Time out!
          hello





          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%2f53139649%2fhow-to-use-the-requests-module-to-skip-connection-timeout-urls%23new-answer', 'question_page');
            }
            );

            Post as a guest
































            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes








            up vote
            2
            down vote



            accepted










            You can raise exception if there is a timeout and continue using finally for next request,



            import requests
            import logging

            timeout = 0.00001

            try:
            response = requests.get(url="https://google.com", timeout=timeout)
            except requests.exceptions.ConnectTimeout as e:
            logging.error("Time out!")
            finally:
            # continue request here
            print("hello")


            # output,
            ERROR:root:Time out!
            hello





            share|improve this answer



























              up vote
              2
              down vote



              accepted










              You can raise exception if there is a timeout and continue using finally for next request,



              import requests
              import logging

              timeout = 0.00001

              try:
              response = requests.get(url="https://google.com", timeout=timeout)
              except requests.exceptions.ConnectTimeout as e:
              logging.error("Time out!")
              finally:
              # continue request here
              print("hello")


              # output,
              ERROR:root:Time out!
              hello





              share|improve this answer

























                up vote
                2
                down vote



                accepted







                up vote
                2
                down vote



                accepted






                You can raise exception if there is a timeout and continue using finally for next request,



                import requests
                import logging

                timeout = 0.00001

                try:
                response = requests.get(url="https://google.com", timeout=timeout)
                except requests.exceptions.ConnectTimeout as e:
                logging.error("Time out!")
                finally:
                # continue request here
                print("hello")


                # output,
                ERROR:root:Time out!
                hello





                share|improve this answer














                You can raise exception if there is a timeout and continue using finally for next request,



                import requests
                import logging

                timeout = 0.00001

                try:
                response = requests.get(url="https://google.com", timeout=timeout)
                except requests.exceptions.ConnectTimeout as e:
                logging.error("Time out!")
                finally:
                # continue request here
                print("hello")


                # output,
                ERROR:root:Time out!
                hello






                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited 2 days ago

























                answered 2 days ago









                Sufiyan Ghori

                10.7k95580




                10.7k95580






























                     

                    draft saved


                    draft discarded



















































                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53139649%2fhow-to-use-the-requests-module-to-skip-connection-timeout-urls%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest




















































































                    這個網誌中的熱門文章

                    Xamarin.form Move up view when keyboard appear

                    Post-Redirect-Get with Spring WebFlux and Thymeleaf

                    Anylogic : not able to use stopDelay()