当前位置: 首页 > 资讯 > >正文

天天微资讯!python从步兵到骑兵(五)

来源:个人图书馆-宿主大人    时间:2023-07-04 16:36:27

5. http响应报文的格式

响应行, 响应头 ,空行, 响应体


(资料图片)

状态码信息: 200 服务器成功处理请求, 400 错误的请求,地址或参数错误

404 资源不存在 500 服务器内部代码出现错误

6. 如何查看http协议通讯过程

利用开发者工具:谷歌浏览器,按F12 调出开发者工具,或者“在网页右击选择检查”

开发者工具是查看网页布局和JS代码调试的利器

通过Network标签选项可以查看每一次请求和响应的通信过程。

7. 如何启动python自带的静态服务器

进入终端,在命令行模式下,进入资源所在目录,运行python -m http.server 8000

8000是设置的端口号(不设置的话,默认也是8000). 之后 浏览器输入

8. 端口与端口号的意义

每个运行的网络程序都会有个端口,要给程序发数据就要找到对应的端口。每个端口都对应一个端口号,通过端口号就可以找到端口。端口号有65536个。

通信流程就是,通过ip地址找到设备,通过端口号找到对应程序的端口,通过端口与程序交流数据

端口分两类:一类是系统占用的,1-1023不可以用(比如21分给ftp, 25分给smtp,80分给http)。其他是动态的,可以使用(如果程序没有指定,系统会动态的指定一个),程序退出,端口号就会释放。

9. 编写一个简单的客户端程序

为了测试,服务器端可以使用“网络调试助手”工具,这里获取

importsocketif__name__=="__main__":#socket.AF_INET代办ipv4,socket.SOCK_STREAM代表tcp通讯方式tcp_client_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)tcp_client_socket.connect(("192.168.56.1",8080))#由于传输的是字节流,所以字符串要编码encode,接收到数据也要解码decodetcp_client_socket.send("helloworld".encode(encoding="utf-8"))recv_data=tcp_client_socket.recv(1024)print(recv_data.decode(encoding="utf-8"))tcp_client_socket.close()
10. 编写一个简单的服务端程序

步骤: 1 创建一个socket,2 绑定地址 (IP和端口号) 3 设置监听 4等待客户端连接

5 接受数据 6 发送数据 7 关闭连接

importsocketif__name__=="__main__":#ser_socket只负责监听ser_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)#绑定IP地址和端口号,不写ip地址,就是默认本机IP地址ser_socket.bind(("",8888))#服务端可以等待排队连接的最大数量128ser_socket.listen(128)#阻塞等待,接受连接后,返回一个用以和客户端通讯的socket和客户端地址conn_socket,ip_port=ser_socket.accept()print("客户端地址",ip_port)recv_data=conn_socket.recv(1024)print("接收到的数据:",recv_data.decode(encoding="utf-8"))conn_socket.send("你的数据我收到了".encode("utf-8"))conn_socket.close()ser_socket.close()

注意:当客户端套接字close,那么服务端的recv返回的数据长度就是0,会解除阻塞,反之也是一样

12. if __name__ == ""__main__"": 的作用
if__name__==""__main__"":#每个模块都内置一个"__name__"属性,表示该模块的名称。模块的执行有两种,一种是作为主程序执行,一种是被导入其他模块执行。这个语句的作用是,判断如果作为主程序执行,里面的代码就会执行,否则不执行

X 关闭

推荐内容

最近更新

Copyright ©  2015-2023 京津冀餐饮网版权所有  备案号:京ICP备2022022245号-12   联系邮箱:434 922 62 @qq.com