python socket 模拟http请求
# coding: utf-8
import socket
from urllib.parse import urlparse
def get_url(url):
url = urlparse(url)
host = url.netloc
path = url.path
if path == "":
path = "/"
# 建立 socket 连接
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect((host, 80))
client.send("GET {} HTTP/1.1
Host:{}
Connection:close
".format(path, host).encode("utf-8"))
data = b""
while True:
d = client.recv(1024)
if d:
data += d
else:
break
data = data.decode("utf-8")
html_data = data.split("
")[1]
print(html_data)
client.close()
pass
if __name__ == ‘__main__‘:
get_url("http://www.baidu.com")

![python socket 模拟http请求
[编程语言教程]](https://www.zixueka.com/wp-content/uploads/2024/01/1706714694-c4c8aabc1f6f554.jpg)
