On Sunday, September 20, 2015 at 8:11:18 PM UTC+5:30, Laura Creighton wrote:
> The discussion about why or why not to use a bare except has gotten us
> away from the problem reported, which is "why is my script hanging?"
> 
> In a message of Sat, 19 Sep 2015 17:18:12 +0100, Mark Lawrence writes:
> >> I am learning python. I wrote a script using requests module.
> >> The scripts runs fine for sometime, but after a while it hangs. When I 
> >> press CTRL+C it shows ConnectionError even though I have included 
> >> exception handling.
> >> I am not sure as to why it cant handle ConnectionError when the script 
> >> runs for a long time.
> >>
> >> This is a part(causing issues) of the script I am running:
> >>
> >> while(k<46656):
> >>            j=res[k]
> >>            url="http://172.16.68.6:8090/login.xml"; 
> >>            query_args = {'mode':'191', 'username':str(i), 
> >> 'password':str(j), 'a':'1442397582010', 'producttype':'0'}
> >>            
> >>            try:
> >>                    r=requests.post(url, data=query_args)
> >>            except:
> >>                    print "Connection error"
> >>                    time.sleep(30)
> >>                    continue
> >>
> >>            html=r.text
> >>            if(len(html) < 10):
> >>                    continue
> >>
> >>            if("The system could not log you on" not in html):
> >>                    print "hello"
> >>                    filehandle=open("ids", "a")
> >>                    filehandle.write(str(i)+'\n')
> >>                    filehandle.write(str(j)+'\n')
> >>                    filehandle.close()
> >>                    break
> >>            
> >>            k=k+1
> >>
> >> Any help will be highly appreciated.
> 
> So, when it hangs there are two main problems you can have.  One sort
> is that the other side, http://172.16.68.6:8090/ it in itself
> configured to only let people use a connection for a certain amount of
> time.  If you are using it for longer, it will disconnect you.  Or the
> other sort is that the other side disconnects people who have been
> silent for a certain amount of time.  If you haven't send anything for
> a certain amount of time it will log you off.  There are lots of other
> things that work this way -- the system may see many attempts to login
> and think you are trying to break into the system, the machine may
> have crashed ... but the bottom line is that the reason your script
> hangs is that there is nobody there on the other end.
> 
> The other sort of problem you can have is that the other end is
> alive and well and talking to you, but you don't understand what
> you are getting, and you are ignoring things you don't understand.
> This can look exactly the same.
> 
> To find out what is going on you need to log what it is that you
> are getting, to see if the answer is 'nothing' or 'garbage'.
> 
> Laura

Hi
If my script hangs because of the reasons you mentioned above, why doesnt it 
catch ConnectionError?
My script stops for a while and when I press CTRL+C, it shows ConnectionError 
without terminating the process, and the script resumes from where it left off.
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to