第五十九节,模拟浏览器请求Python结合html基本格式
2023-09-14 08:58:24 时间
模拟浏览器请求Python结合html基本格式
用Python模拟一个客户端,结合打开一个HTML页面
创建客户端
#!/usr/bin/env python # -*- coding:utf8 -*- import socket #导入单线程通讯模块 def handle_request(client): buf = client.recv(1024) client.sendall(bytes("HTTP/1.1 201 OK\r\n\r\n","utf8")) #向客户端发送内容,以字节形式发送 f = open("1.html", "r", encoding="utf-8") #打开HTML文件 f2 = f.read() #读出HTML文件内容 f.close() #关闭打开的文件 client.sendall(bytes(f2,"utf8")) #将读出HTML文件内容向客户端发送内容,以字节形式发送 def main(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #创建服务端通讯对象 sock.bind(('localhost',8082)) #在服务端设置服务端ip和端口8 sock.listen(5) #监听IP和端口,设置一个参数,表示最多连接排队数量 while True: connection, address = sock.accept() #等待接收客户端的请求,一旦有客户端请求连接,就会返回两个值,一个是连接对象,一个是客户端的地址信息,所以需要两个变量来接收 handle_request(connection) #执行handle_request函数,将客户端请求连接传入handle_request函数 connection.close() #关闭连接 if __name__ == '__main__': #wds系统下if __name__ == "__main__"才能创建进程,我们调试没关系,以后在Linux系统没这个问题 main() #执行main函数
HTML页面
将HTML页面放入客服端相同的目录里
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>你好</h1> </body> </html>
启动客户端后在浏览器输入http://127.0.0.1:8082/ 可以看到以下结果
你好
下面我们开始讲HTML知识
HTML基本格式
<!DOCTYPE html> //文档类型声明 <html lang="zh-cn"> //表示HTML文档开始,属性lang,属性值=zh-cn(声明中文网页的意思) <head> //包含文档元素开始 <meta charset="UTF-8"> //声明字符编码 <title>标题</title> //设置文档标题 </head> //包含文档元素结束 <body> //表示HTML内容开始 </body> //表示HTML内容结束 </html> //表示HTML文档结束
<!DOCTYPE html>
它主要告诉浏览器所查看的文件类型,表示为HTML文档类型
<html lang="zh-cn"></html>
HTML元素是文档开始和结尾的元素,它是一个双标签,包含内容,这个元素有一个属性和属性值,lang="zh-cn",表示文档语言为:简体中文,如果是英文网页为lang="en"
<head> </head>
用来包含元数据内容,元数据内容包括:<link>、<meta>、<noscript>、<scripy>、<style>、<title>,这些内容用来向浏览器提供信息,比如link提供css信息,这些类型都是页面不可见的
<meta>
这个元素可以用来设置字符编码,告诉浏览器页面采用什么编码,除了设置编码还有别的
<title></title>
这个元素是设置页面的标题的,标题会显示到浏览器上部,也会被搜索引擎识别
<body> </body>
用来包含文档内容的元素,也就是浏览器可见部分,所有的可见部分都应该写在这里
相关文章
- Python负数取余总结
- Python编辑开发:pycharm pro 2022.2.1汉化版
- Python 二进制,十进制,十六进制转换「建议收藏」
- python jieba库_Python jieba库的使用说明「建议收藏」
- python中矩阵的转置_[转]Python中的矩阵转置[通俗易懂]
- python数组拼接字符串_Python练习题——数组拼接
- python监控网页内容变化_使用Python监控文件内容变化代码实例
- python udp编程_Python核心编程
- Python 正则表达式详解(建议收藏!)[通俗易懂]
- 快速整理文件——使用Python遍历文件
- Python 命令行模块使用技巧
- 跟着Nature ecology&evolution学python:toytree模块画进化树
- 有人总结了70多个Python精选项目:再也不用去GitHub、Reddit大海捞针了
- python-Python与SQLite数据库-使用Python执行SQLite查询(二)
- python模拟鼠标拖动教程详解编程语言
- Python元组推导式
- Python简易操作MySQL数据库指南(python操作mysql数据库)
- 使用 Pygal 在 Python 中设置数据图的样式
- Python如何连接MySQL数据库(python怎么连接mysql数据库)
- 简明Python基础学习教程
- Python字典dict使用介绍
- python中List的sort方法指南