Упражнение 1: Измените программу сокета socket1.py так, чтобы она запрашивала у пользователя URL-адрес, чтобы он мог читать любую веб-страницу. Вы можете использовать split ('/'), чтобы разбить URL-адрес на составные части, чтобы вы могли извлечь имя хоста для вызова подключения к сокету. Добавьте проверку ошибок с помощью try и except для обработки условия, при котором пользователь вводит неверно отформатированный или несуществующий URL.
import socket
url = input('name:')
word = url.split('/')
host = word[2]
print(host)
try:
mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
mysock.connect(('host', 80))
mysock.send(('GET '+url+' HTTP/1.0\r\n\r\n').encode())
except:
print ("Try your best")
while True:
data = mysock.recv(512)
if len(data) < 1:
break
print(data.decode(),end='')
mysock.close()
OSError: [WinError 10057] Запрос на отправку или получение данных был запрещен, поскольку сокет не подключен и (при отправке в сокет дейтаграммы с помощью вызова sendto) адрес не был предоставлен
не могли бы вы мне помочь? почему код возвращает мне эту ошибку? как я могу решить эту проблему без какой-либо другой новой функции?