python一个简单的web服务器和客户端
2023-09-27 14:21:53 时间
服务器:
当客户联系时创建一个连接套接字
从这个连接接收HTTP请求(*)
解释该请求所请求的特定文件
从服务器的文件系统获取该文件
从服务器的文件系统获取该文件
并发送文件内容
如果文件不存在,则返回“404 Not Found”(*)
注:在运行此文件前,server.py目录下需要包含file文件夹,里面装有服务器里的文件,客户端可以向服务器请求file里的文件。
readme:首先打开server.py,开启服务器
然后打开client.py,输入文件名,包括后缀
服务器文件系统为file文件夹
client.py的命令行窗口中出现文件的具体信息
按任意键关闭客户端
client.py
server.py
客户端:
客户端可以与服务器建立TCP连接
客户端通过TCP连接请求服务器端的某一文件
在客户端显示介绍到的文件内容
注:在运行此文件前,server.py目录下需要包含file文件夹,里面装有服务器里的文件,客户端可以向服务器请求file里的文件。
readme:首先打开server.py,开启服务器
然后打开client.py,输入文件名,包括后缀
服务器文件系统为file文件夹
client.py的命令行窗口中出现文件的具体信息
按任意键关闭客户端
client.py
- import socket
- serverName = '127.0.0.1'
- serverPort = 50008
- clientSocket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
- clientSocket.connect((serverName,serverPort))
- print 'Input the http request:'
- sentence = ''
- while True:
- tmp = raw_input()
- sentence = sentence + tmp
- if(tmp==''):break
- clientSocket.send(sentence)
- receiveSentence = clientSocket.recv(1024)
- print 'From Server:', receiveSentence
- isEnd = raw_input()
- clientSocket.close()
server.py
- import socket
- import os
- serverPort = 50008
- serverSocket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
- serverSocket.bind(('127.0.0.1',serverPort))
- serverSocket.listen(1)
- print 'The server is ready to receive'
- while 1:
- connectionSocket, addr = serverSocket.accept()
- sentence = connectionSocket.recv(1024)
- ans = ''
- flag = False;
- for ch in sentence:
- if(ch == ' ' and flag ==True):break
- if(flag == True):
- ans = ans + ch;
- elif(ch==' '):
- flag = True;
- path = 'file//' + ans
- if(os.path.exists(path)==False):
- connectionSocket.send('404 Not Found')
- else:
- file = open( path,'r')
- while 1:
- data = file.read(1024)
- if not data:break
- connectionSocket.send(data)
- file.close()
- connectionSocket.close()
相关文章
- python随机服务器的双线出口ip发送邮件
- Python Study (06)内存管理GC
- python 服务器端口开放,服务器防火墙开启,flask接口服务调不通的原因排查,服务器指定端口开放,linux、centos端口服务开放
- Python 进行 SSH 操作,实现本地与服务器的链接,进行文件的上传和下载
- python 高级篇-面向对象-3 封装特性
- 基于Python的个性化电影推荐系统的设计和实现
- 基于Python的仓库库存管理系统的设计和实现
- python读取文件内的IP信息 练习
- Python小项目四:实现简单的web服务器
- 【python爬虫】根据查询词爬取网站返回结果
- python命令行添加自动补全和命令历史功能
- Python,OpenCV直方图均衡化以提高图像对比度
- Python监控目录文件夹,并使用SFTP上传目录及文件到linux服务器
- Linux服务器CPU、内存、磁盘空间、负载情况查看python脚本
- Python pandas.DataFrame.iterrows函数方法的使用
- Python pandas.DataFrame.clip_upper函数方法的使用
- python下的web服务器模块
- python解析xml实例
- 小度太弱了,干脆自己用Python开发个对话机器人【pyQt,多线程,爬虫,数据库,面向对象】
- 如何用Python导出测试数据?
- python简单网页服务器示例
- 机器学习之路:python 特征降维 主成分分析 PCA
- python - 服务器
- python paramiko模块链接远程服务器 并执行命令行命令
- 使用Python搭建http服务器
- python学习之实现简单的miniWeb服务器
- python学习之美多商城(二):项目结构、创建工程(使用gitee管理代码)、安装使用live-server前段服务器、配置