urllib

0

Witam,
Mam pytanie czy ktos wie jak rozwiązać ten problem z pythonem pod systemem windows7,

Traceback (most recent call last):
  File "C:\Python34\lib\urllib\request.py", line 1183, in do_open
    h.request(req.get_method(), req.selector, req.data, headers)
  File "C:\Python34\lib\http\client.py", line 1137, in request
    self._send_request(method, url, body, headers)
  File "C:\Python34\lib\http\client.py", line 1182, in _send_request
    self.endheaders(body)
  File "C:\Python34\lib\http\client.py", line 1133, in endheaders
    self._send_output(message_body)
  File "C:\Python34\lib\http\client.py", line 963, in _send_output
    self.send(msg)
  File "C:\Python34\lib\http\client.py", line 898, in send
    self.connect()
  File "C:\Python34\lib\http\client.py", line 1279, in connect
    super().connect()
  File "C:\Python34\lib\http\client.py", line 871, in connect
    self.timeout, self.source_address)
  File "C:\Python34\lib\socket.py", line 516, in create_connection
    raise err
  File "C:\Python34\lib\socket.py", line 507, in create_connection
    sock.connect(sa)
TimeoutError: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    urlopen('https://www.w3schools.com/xml/note.xml')
  File "C:\Python34\lib\urllib\request.py", line 161, in urlopen
    return opener.open(url, data, timeout)
  File "C:\Python34\lib\urllib\request.py", line 464, in open
    response = self._open(req, data)
  File "C:\Python34\lib\urllib\request.py", line 482, in _open
    '_open', req)
  File "C:\Python34\lib\urllib\request.py", line 442, in _call_chain
    result = func(*args)
  File "C:\Python34\lib\urllib\request.py", line 1226, in https_open
    context=self._context, check_hostname=self._check_hostname)
  File "C:\Python34\lib\urllib\request.py", line 1185, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond>

?
Internet działa bo jakże mógłbym napisać ten post gdyby było inaczej ;-), podobny "program" (tzn taki który pobiera przykładowy xml z internetu) napisany w C# działa bez problemu a tutaj takie kwiatki.

0

u mnie działa

0

To IMPONUJĄCE że u was działało dosłownie nie mogę wyjść z zachwytu ;-) a wracając do meritum.

https://docs.python.org/2/library/urllib2.html

In addition, if proxy settings are detected (for example, when a *_proxy environment variable like http_proxy is set), ProxyHandler is default installed and makes sure the requests are handled through the proxy.

jezeli ktos jest w sieci w ktorej jest uzywane proxy i chce korzystac z sieciowych mozliwosci pythona bez wiekszych filozofii nalezy ustawic zmienne srodowiskowe jak opisalo powzej;
http_proxy o wartosci adres serwera proxy i
https_proxy o wartosci adres serwera proxy
prozdrawiam.

0

Sprawdź może porty czy coś ci nie blokuje, albo jakiś antywirus nie uznaje programu za jakiegoś wirusa przez co ci go w jakiejś kwarantannie nie odpala czy inny badziew, jeśli powyższe nie pomoże :)

0

Czołem,
Właśnie po to napisałem powyższe gdyż to jest rozwiązanie problemu (najprostsze z możliwych) inne jest takie http://stackoverflow.com/questions/1450132/proxy-with-urllib2

proxy = urllib2.ProxyHandler({'http': '127.0.0.1'}) # lub proxy = urllib2.ProxyHandler({'https': '127.0.0.1'}) dla polaczen szyfrowanych i oczywiscie adres nalezy podac taki jaki ma serwer proxy dla danej sieci a nie '127.0.0.1'
opener = urllib2.build_opener(proxy)
urllib2.install_opener(opener)
urllib2.urlopen('http://www.google.com')

1 użytkowników online, w tym zalogowanych: 0, gości: 1