У меня есть программа на Python, которая подключается к веб-серверу с помощью сокетов и отображает его информацию.Кажется, он работает только на некоторых веб-сайтах.
from socket import *
import sys
from urllib.parse import urlparse
def parse_url(url):
parsed = urlparse(url)
return parsed.netloc
def run_client(url):
target_port = 80
target_host = url
server_address = (target_host, target_port)
client_socket = socket(AF_INET, SOCK_STREAM)
client_socket.connect(server_address)
request = "GET / HTTP/1.1\r\nHost: %s\r\n\r\n" % target_host
client_socket.sendall(request.encode())
receive = client_socket.recv(4096)
decoded = receive.decode()
print(decoded)
client_socket.close()
def main(url):
http = parse_url(url)
run_client(http)
if __name__ == "__main__":
main(sys.argv[1])
в командной строке: python3 program.py http://www.google.com/
Это показывает информацию http отлично, но с использованием веб-сайтакак http://www.wacky -wifi-wagons.rocks / coms3200 / style.css не будет отображать слова, которые вы видите при просмотре в браузере
Я хотел бы получить толькотри строки на этом сайте, вместо этого я получаю https://www.pastiebin.com/5c9a5f5942887
Любая помощь будет принята:)