Я хочу отправить сообщение от клиента на сервер через сокеты в Python, в частности, я бы отправил пример URL "www.google.com". Тогда я бы просто отобразил IP-адрес. Я использую Telnet в качестве моего клиента. Поэтому я набираю информацию
Я пробовал несколько способов превратить сообщение в строку, но до сих пор не нашел решения. «В настоящее время я получаю эту ошибку:
socket.gaierror: [Errno -2] Name or service not known
Process Process-1:
Traceback (most recent call last):
File "/usr/lib/python3.6/multiprocessing/process.py", line 258, in _bootstrap
self.run()
File "/usr/lib/python3.6/multiprocessing/process.py", line 93, in run
self._target(*self._args, **self._kwargs)
File "proxy_server.py", line 44, in handle_connection
host_ip = socket.gethostbyname(str(message.decode('utf-8')))
socket.gaierror: [Errno -2] Name or service not known
Не уверен, как это исправить. Должен ли я просто использовать split()
, чтобы избавиться от нежелательных вещей, когда я впервые получаю сообщение и не использую декодирование?
# Recieve message from the client
message = conn.recv(2024)
print(message)
print(message.decode('utf-8'))
# host_ip = socket.gethostbyname(message.decode('utf-8'))
host_ip = socket.gethostbyname(str(message.decode('utf-8')))
print(host_ip)