0

One of my script runs perfectly on an XP system, but the exact script hangs on a 2003 system. I always use mechanize to send the http request, here's an example:

import socket, mechanize, urllib, urllib2

socket.setdefaulttimeout(60) #### No idea why it's not working

MechBrowser = mechanize.Browser()
Header = {'User-Agent': 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8 GTB7.1 (.NET CLR 3.5.30729)', 'Referer': 'http://www.porn-w.org/ucp.php?mode=login'}
Request = urllib2.Request("http://google.com", None, Header)
Response = MechBrowser.open(Request)

I don't think there's anything wrong with my code, but each time when it comes to a certain http POST request to a specific url, it hangs on that 2003 computer (only on that url). What could be the reason of all this and how should I debug?

By the way, the script runs all right until several hours ago. And no setting is changed.

blahdiblah
  • 33,069
  • 21
  • 98
  • 152
Shane
  • 4,875
  • 12
  • 49
  • 87

1 Answers1

2

You could use Fiddler or Wire Shark to see what is happening at the HTTP-level.

It is also worth checking out if the machine has been blocked from making requests to the machine you are trying to access. Use a regular browser (with your own HTML form), and the HTTP library used by Mechanize and see if you can manually construct a request. Fiddler can also help you do this.

Brian Lyttle
  • 14,558
  • 15
  • 68
  • 104