Не берёт адрес из переменной, выдаёт ошибку "Требуемый адрес для своего контекста неверен"
Делаю задания из учебника по Python. Нужно было брать адрес из запроса пользователя и отправлять запрос на сервер. Если я адрес вручную вставляю в socket, всё нормально. Когда этот же адрес берётся из переменной, то выдаёт ошибку. Причём тип всё равно string выдаёт. Я не понимаю, в чём проблема!?
Адрес странички: Учебный адрес. Домен, соответственно: data.pr4e.org
import socket
inp = input('What link do we look?\n')
HOST = ''
def host_get(link):
if link.find('//'):
http = link.find('//') + 2
new_link = link[http:].split('/')
HOST = str(new_link[0])
print(repr(HOST))
print(HOST)
else:
new_link = link.split('/')
HOST = str(new_link[0])
print(HOST)
host_get(inp)
print(type(HOST))
mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
mysock.connect(('data.pr4e.org', 80)) # вручную вставлять всё ок, со ссылкой на переменную HOST не получается. Хотя и print и type подтверждают, что всё аналогично.
cmd = 'GET %s HTTP/1.0\r\n\r\n'.encode() % inp.encode()
mysock.send(cmd)