Chema wrote: > Hi all. > > I have a little script to connect to the internet and download some > files. I developed it in my house (direct connection) and it wordked > properly. But the problem is that in the office (under a proxy) it > doesn't run. My script is like: > > import urllib > f=urllib.urlopen(SOME_WEB) > print f.read > > I have tried to set the environmet variable > http_proxy="192.168.1.100:2929" and also: > > import urllib > proxy={'http','http://192.168.1.100:2929'} and using > f=urllib.urlopen(SOME_WEB, proxy) > print f.read > > the error was always the same: > > (11001, 'getaddrinfo failed') > > > Any idea?? The proxy that we use is normally, in some programs I use a > tipical http proxy without authentification without problem. > > Thanks in advanced. > [EMAIL PROTECTED] /c/colinux $ export http_proxy="http://localhost:37004"
[EMAIL PROTECTED] /c/colinux $ python Python 2.5b2 (trunk:50713, Jul 19 2006, 16:04:09) [GCC 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)] on cygwin Type "help", "copyright", "credits" or "license" for more information. Started with C:/Steve/.pythonrc >>> import urllib >>> u = urllib.urlopen("http://www.holdenweb.com/") >>> OK, it works with an environment variable (I saw the access in my mousehole proxy log). Now in a new shell: [EMAIL PROTECTED] ~ $ export | grep http [EMAIL PROTECTED] ~ $ python Python 2.5b2 (trunk:50713, Jul 19 2006, 16:04:09) [GCC 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125)] on cygwin Type "help", "copyright", "credits" or "license" for more information. Started with C:/Steve/.pythonrc >>> import urllib >>> proxy = {'http': 'http://localhost:37004'} >>> u = urllib.urlopen("http://www.holdenweb.com/", proxies=proxy) >>> Yup. that worked too. Maybe it's just because you aren't making proxies a keyword argument? If I try that (under cygwin) I see: >>> u = urllib.urlopen("http://www.holdenweb.com/", proxy) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/local/lib/python2.5/urllib.py", line 84, in urlopen return opener.open(url, data) File "/usr/local/lib/python2.5/urllib.py", line 192, in open return getattr(self, name)(url, data) File "/usr/local/lib/python2.5/urllib.py", line 327, in open_http h.send(data) File "/usr/local/lib/python2.5/httplib.py", line 707, in send self.sock.sendall(str) File "<string>", line 1, in sendall TypeError: sendall() argument 1 must be string or read-only buffer, not dict regards Steve -- Steve Holden +44 150 684 7255 +1 800 494 3119 Holden Web LLC/Ltd http://www.holdenweb.com Skype: holdenweb http://holdenweb.blogspot.com Recent Ramblings http://del.icio.us/steve.holden -- http://mail.python.org/mailman/listinfo/python-list