urlretrieve über proxy geht nicht, urlopen jedoch geht
Verfasst: Freitag 21. Januar 2011, 11:22
Hallo,
bin noch ziemlich neu hier und habe folgendes Problem mit urllib.urlretrieve (Python 3.1) :
1. Nach doku proxy handler definiert:
damit funktioniert urlopen() einwandfrei !
wenn ich allerdings per urlretrieve() dieselbe Datei holen will:
bekomme ich einen error:
dasselbe urlretrieve() funktioniert auf einem Rechner, der keinen Proxy braucht einwandfrei.
Hab ich hier was falsch verstanden, oder ist das ein Bug ?
Danke für jeden Hinweis,
Joachim
[Nachtrag]: kann mir jemand einen Tipp geben, wie man das mit Python 2.x löst, eine Datei durch einen Proxy nach local zu kopieren ?
bin noch ziemlich neu hier und habe folgendes Problem mit urllib.urlretrieve (Python 3.1) :
1. Nach doku proxy handler definiert:
Code: Alles auswählen
import urllib.request
authinfo = urllib.request.HTTPBasicAuthHandler()
proxy_support = urllib.request.ProxyHandler({"http" : "http://my-proxy.com:8080"})
opener = urllib.request.build_opener(proxy_support, authinfo, urllib.request.CacheFTPHandler)
urllib.request.install_opener(opener)
Code: Alles auswählen
f = urllib.request.urlopen('http://myURL.dnsalias.org/png/Data.png')
pic=f.read()
Code: Alles auswählen
urllib.request.urlretrieve('http://myURL.dnsalias.org/png/Data.png','C:/tmp/myData.png')
Code: Alles auswählen
Traceback (most recent call last):
File "<pyshell#38>", line 1, in <module>
urllib.request.urlretrieve('http://myURL.dnsalias.org/png/Data.png','C:/TMP/myData.png')
File "C:\Python31\lib\urllib\request.py", line 133, in urlretrieve
[...]
File "C:\Python31\lib\http\client.py", line 713, in connect
self.timeout)
File "C:\Python31\lib\socket.py", line 320, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
IOError: [Errno socket error] [Errno 11004] getaddrinfo failed
Hab ich hier was falsch verstanden, oder ist das ein Bug ?
Danke für jeden Hinweis,
Joachim
[Nachtrag]: kann mir jemand einen Tipp geben, wie man das mit Python 2.x löst, eine Datei durch einen Proxy nach local zu kopieren ?