On 24Sep2015 22:46, shiva upreti <katewinslet...@gmail.com> wrote:
On Friday, September 25, 2015 at 10:55:45 AM UTC+5:30, Cameron Simpson wrote:
On 24Sep2015 20:57, shiva upreti <katewinslet...@gmail.com> wrote:
>Thank you Cameron.
>I think the problem with my code is that it just hangs without raising any >exceptions. And as mentioned by Laura above that when I press CTRL+C, it >just catches that exception and prints ConnectionError which is definitely >a lie in this case as you mentioned.

Ok. You original code says:

 try:
   r=requests.post(url, data=query_args)
 except:
   print "Connection error"

and presumably we think your code is hanging inside the requests.post call? You should probably try to verify that, because if it is elsewhere you need to figure out where (lots of print statements is a first start on that).

I would open two terminals. Run your program until it hangs in one.

While it is hung, examine the network status. I'll presume you're on a UNIX system of some kind, probably Linux? If not it may be harder (or just require someone other than me).

If it is hung in the .post call, quite possibly it has an established connecion to the target server - maybe that server is hanging.

The shell command:

 netstat -rn | fgrep 172.16.68.6 | fgrep 8090

will show every connection to your server hosting the URL "http://172.16.68.6:8090/login.xml";. That will tell you if you have a connection (if you are the only person doing the connecting from your machine).

If you have the "lsof" program (possibly in /usr/sbin, so "/usr/sbin/lsof") you can also examine the state of your hung Python program. This:

 lsof -p 12345

will report on the open files and network connections of the process with pid 12345. Adjust to suit: you can find your program's pid ("process id") with the "ps" command, or by backgrounding your program an issuing the "jobs" command, which should show the process id more directly.

Cheers,
Cameron Simpson <c...@zip.com.au>
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to