Python学习---基于TCP的模拟浏览器请求响应案例

模拟浏览器请求web服务器的网页过程,使用TCP实现http协议

python 复制代码
# 1 、导入模块
import socket

# 2 、创建套接字
tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 3·建立连接
tcp_client_socket.connect(("www.icoderi.com", 80))
# 4﹑拼接请求协议
# 4.1请求行
request_line = "GET / HTTP/1.1\r\n"
# 4.2请求头
request_header = "Host:www.icoderi.com\r\n"
# 4.3请求空行
request_blank = "\r\n"
request_data = request_line + request_header + request_blank
# 5﹑发送请求协议
tcp_client_socket.send(request_data.encode())
# 6·接收服务器响应内容(4kb)
recv_data = tcp_client_socket.recv(4096)
# 7﹑保存内容
recv_text = recv_data.decode()
# 7.1截取字符串取<html>
loc = recv_text.find("\r\n\r\n")
html_data = recv_text[loc + 4:]
print(html_data)
# 7.2保存文本内容
with open("index.html", "w") as file:
    file.write(html_data)
# 8·关闭连接
tcp_client_socket.close()
相关推荐
Data_Journal1 小时前
用于网页抓取的 Node-unblocker
大数据·开发语言·数据库·python·scrapy
豆角焖肉1 小时前
SSM 聚合项目搭建:多 Maven 模块项目
开发语言·python·pycharm
青 春 记 忆1 小时前
零基础入门python20:Flask配置、扩展和蓝图拆分
python·flask·后端开发
m0_380743872 小时前
为 OpenAI 兼容接口配置教程
开发语言·python·node.js
xian_wwq3 小时前
【学习笔记】-深度认知系列-第1讲-AI不是魔法——三句话讲清楚人工智能到底是什么
笔记·学习·深度认知
M78佐菲3 小时前
c语言学习笔记:排序与查找方法整理
linux·c语言·笔记·学习·算法
别动我齐刘海3 小时前
机器人运动控制学习4——状态估计 State Estimation
c++·人工智能·学习·目标检测·机器学习·机器人·自动驾驶
狂云歌3 小时前
2025年读书回顾,AI+游戏+历史
人工智能·学习·游戏
leisoo80974 小时前
ig50数据落盘ClickHousevsTimescaleDBvsDuckDB实测对比 IG50免费开源股票数据API接口
开发语言·jvm·数据库·python·json
卷无止境4 小时前
FastAPI 的 Metadata 到底是什么,又牵动了哪些核心概念
后端·python