1

我需要对一大组中的每个 URL 发出一个简单的标头请求,以检查它们是否仍然可用。现在我做了以下代码:

from http import client
for i, triple in enumerate(catalouge):
    connection = client.HTTPConnection(triple[2].strip('http://'))
    connection.request('HEAD', '/')
    print(connection.getresponse().status + ' on entry ' + str(i+1))

现在catalouge是一组所有链接,其中第三个元素是需要检查的 URL。该.strip('http://')部分是必需的,否则我将收到此错误:

http.client.InvalidURL: nonnumeric port:

有了这个代码,我现在收到这个错误:

Traceback (most recent call last):
  [...]
    connection.request('HEAD', '/')
  File "/usr/lib/python3.4/http/client.py", line 1137, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.4/http/client.py", line 1182, in _send_request
    self.endheaders(body)
  File "/usr/lib/python3.4/http/client.py", line 1133, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python3.4/http/client.py", line 963, in _send_output
    self.send(msg)
  File "/usr/lib/python3.4/http/client.py", line 898, in send
    self.connect()
  File "/usr/lib/python3.4/http/client.py", line 871, in connect
    self.timeout, self.source_address)
  File "/usr/lib/python3.4/socket.py", line 494, in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
  File "/usr/lib/python3.4/socket.py", line 533, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known

我错过了什么?任何建议将不胜感激。

4

0 回答 0