Python urllib + базовый сервер не может подключиться к macos - PullRequest
0 голосов
/ 24 октября 2019

У меня есть два файла, client.py и server.py:

client.py

from urllib import request
response = request.urlopen('http://localhost:8000/info')
print('The server said:', response.read())

server.py

from http.server import HTTPServer, BaseHTTPRequestHandler

class CustomServer(BaseHTTPRequestHandler):
  def do_GET(self):

    if self.path == '/info':
      result = 'Hello this is a server'
    else:
      result = 'Invalid'

    self.send_response(200)
    self.end_headers()
    self.wfile.write(result.encode())

server = HTTPServer(('localhost', 8000), CustomServer)
server.serve_forever()

Оба этих файла работают независимо друг от друга:

  • Если я изменю client.py для запроса http://stackoverflow.com, я вижу правильный результат html.
  • Если я запускаю server.py и использую свой браузер для перехода к localhost:8000/info, я вижу Hello this is a server

Моя проблема - когда я запускаю сервертогда клиент, как есть. Клиент получит ошибку: Connection Refused с ошибкой 61.

Эта ошибка возникает только на конкретном компьютере MacOS. Когда тот же код выполняется на других машинах, все работает правильно.

Что может быть причиной этой проблемы?

...