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()
相关推荐
Q_Q5110082856 分钟前
springboot+python+uniapp基于微信小程序的旅游服务系统景点信息展示 路线推荐 在线预约 评论互动系统
spring boot·python·微信小程序·django·flask·uni-app
人生游戏牛马NPC1号12 分钟前
学习 Android (二十二) 学习 OpenCV (七)
android·opencv·学习
E___V___E32 分钟前
设计模式--装饰器模式
python·设计模式·装饰器模式
Dan.Qiao1 小时前
pycharm如何处理python项目间引用
ide·python·pycharm
万粉变现经纪人1 小时前
如何解决pip安装报错ModuleNotFoundError: No module named ‘sympy’问题
python·beautifulsoup·pandas·scikit-learn·pyqt·pip·scipy
FlYFlOWERANDLEAF1 小时前
DevExpress中Word Processing Document API学习记录
学习·c#·word
半夏知半秋1 小时前
基于跳跃表的zset实现解析(lua版)
服务器·开发语言·redis·学习·lua
AnySpaceOne2 小时前
PDF转Word在线转换教程:多种实用方法分享
学习·pdf·word
xiaohouzi1122332 小时前
Python读取视频-硬解和软解
python·opencv·ffmpeg·视频编解码·gstreamer
念念不忘 必有回响2 小时前
Pygame模块化实战:从零构建Aliens射击游戏全流程(一)
python·游戏·pygame