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()
相关推荐
IT古董33 分钟前
第四章:大模型(LLM)】06.langchain原理-(3)LangChain Prompt 用法
java·人工智能·python
冷崖3 小时前
MySQL异步连接池的学习(五)
学习·mysql
知识分享小能手3 小时前
Vue3 学习教程,从入门到精通,Axios 在 Vue 3 中的使用指南(37)
前端·javascript·vue.js·学习·typescript·vue·vue3
fantasy_arch5 小时前
pytorch例子计算两张图相似度
人工智能·pytorch·python
WBluuue7 小时前
数学建模:智能优化算法
python·机器学习·数学建模·爬山算法·启发式算法·聚类·模拟退火算法
焄塰7 小时前
Ansible 管理变量和事实
学习·centos·ansible
赴3357 小时前
矿物分类案列 (一)六种方法对数据的填充
人工智能·python·机器学习·分类·数据挖掘·sklearn·矿物分类
大模型真好玩7 小时前
一文深度解析OpenAI近期发布系列大模型:意欲一统大模型江湖?
人工智能·python·mcp
RPA+AI十二工作室8 小时前
亚马逊店铺绩效巡检_影刀RPA源码解读
chrome·python·rpa·影刀
oe10198 小时前
读From GPT-2 to gpt-oss: Analyzing the Architectural Advances(续)
笔记·gpt·学习