Thanks for the replies, Steve and Andreas! I will check out pycurl, thanks very much for the tip.
Meanwhile, I'm trying to prepare a bug report re. httplib and get as much information as possible. Something I neglected to mention: when the script hits the problematic server, it always takes about 3 minutes to get the Bad Gateway response. Don't know if that's indicative of anything. I added a bunch of blather to httplib.py to see at what point things are waiting, or if it was stuck in a loop or what. The result is pretty clear: we get as far as this point in SSLFile: def _read(self): buf = '' # put in a loop so that we retry on transient errors while True: try: buf = self._ssl.read(self._bufsize) ... at which point we simply wait for the server for three minutes, Then a response finally comes back, no exceptions are caught or raised within _read(), and finally _read() returns buf. I can't easily trace any deeper because self._ssl apparently comes from _ssl.so and I don't fancy hacking at the C code. Do these observations seem consistent with the hypothesis that HTTPSConnection is failing to handle the HTTP 1.0 proxy? I will also see what else I can find out from the admin. Maybe there's more useful info in the logs somewhere. Unfortunately IIRC our jboss log is always clogged with a few zillion irrelevant messages ... that should be fun. -PW -- http://mail.python.org/mailman/listinfo/python-list