Мой вопрос теоретический: мы можем использовать библиотеку urllib (urlopen) для возврата html-страницы; Я понимаю, что data = mysock.recv(512)
ведет себя как document.read()
для полученных данных (UTF-8 или ASCII).
Какой код в следующих строках работает как функция open('document')
?
open('document')
находит указанный файл и проверяет, существует ли он, я предполагаю, что mysock.send(cmd)
является эквивалентом, поскольку он отправляет GET-запрос веб-серверу для получения указанного файла с адреса.
import socket
mysock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
mysock.connect(('data.pr4e.org', 80))
cmd = 'GET http://data.pr4e.org/romeo.txt HTTP/1.0\n\n'.encode()
mysock.send(cmd)
while True:
data = mysock.recv(512)
if (len(data) < 1):
break
print(data.decode())
mysock.close()
Редактировать: Я, кажется, нашел ответ, но более подробные рассуждения оставлены без внимания.