ConnectionError handling problem
shiva upreti
katewinslet626 at gmail.com
Wed Sep 23 22:49:17 EDT 2015
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.
More information about the Python-list
mailing list