基于python2【重要】怎么自行搭建简单的web服务器
基本流程:
1、需要的支持
1)python本身有SimpleHTTPServer
2)ForkStaticServer.py支持,该文件放在python7目录下
3)将希望共享的文件放在c盘下,如:C:\游戏行业面试专用
2、打开cmd,cd c:\\python27
3、cd C:\游戏行业面试专用
4、c:\\python27\python -m SimpleHTTPServer
5、在网页中输入http://192.168.1.101:8000/
6、已可成功的下载文件等资料 # -*- coding: utf-8 -*-
#python 27
#xiaodeng
#CGI模块
#怎么自行搭建简单的web服务器 #用途:
#内网中,提供文件的共享服务非常有用,在cmd下启动运行服务器命令之后,其他电脑也是可以通过url访问的
#可以实现pdf、zip等压缩文件、exe、apk等软件的下载服务. ###搭建基本流程##
#1、假定共享文件的目录为:/home/test,ip为#192.168.1.101
'''
怎么查看本机IP?
import socket
myname = socket.getfqdn(socket.gethostname())
myaddr = socket.gethostbyname(myname)
print myaddr
''' #2、在cmd下运行下面的命令即可:
#cd C:\home\test
#c:\\python27\python -m SimpleHTTPServer #3、打开浏览器,http://localhost:端口号/路径来访问服务器资源
#如:访问http://192.168.1.101:8000;内网其他机器也可以通过服务器的IP地址来访问
#端口号,默认8000
#默认上面所定义的目录下有index.html文件,该文件为默认页面;如果没有该文件,会将目录以列表形式逐级显示出来 #4、注意事项:
#内网中,文件传输非常方便,50MB/s不是梦。但是不支持并发,只能同事有一个同事进行下载,但是这里可以通过编写新的模块来达到支持并发的目的。
#http://www.wtoutiao.com/p/jffBpc.html #ForkStaticServer.py
import socket
import SocketServer
import BaseHTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler class ForkingHTTPServer(SocketServer.ForkingTCPServer):
allow_reuse_address = 1 def server_bind(self):
"""Override server_bind to store the server name."""
SocketServer.TCPServer.server_bind(self)
host, port = self.socket.getsockname()[:2]
self.server_name = socket.getfqdn(host)
self.server_port = port def test(HandlerClass=SimpleHTTPRequestHandler,ServerClass=ForkingHTTPServer):
BaseHTTPServer.test(HandlerClass, ServerClass) if __name__ == '__main__':
test() #将上述代码保存为文件ForkStaticServer.py,
#放到Python标准库的目录下(在我的电脑上是/usr/lib/python2.7/ForkStaticServer.py),以后用下面的命令代替前面所讲的命令, 这样搭建出来的静态文件服务器就是支持并发的! #自行搭建web服务器相关的库:
import BaseHTTPServer
import SimpleHTTPServer
import CGIHTTPServer
#import HTTPServer(python3中存在)
基于python2【重要】怎么自行搭建简单的web服务器的更多相关文章
- 使用 Nodejs 搭建简单的Web服务器
使用Nodejs搭建Web服务器是学习Node.js比较全面的入门教程,因为要完成一个简单的Web服务器,你需要学习Nodejs中几个比较重要的模块,比如:http协议模块.文件系统.url解析模块. ...
- linux搭建简单的web服务器
主要想法是:使用虚拟机的Ubuntu系统搭建http服务器,然后在window的浏览器上测试 1.先测试windows和虚拟机上的ubuntu能否相互ping通 2.下载http.tar.gz并拷贝到 ...
- mongoDB介绍、安装、搭建简单的mongoDB服务器(一)
相关网站 1. http://www.mongodb.org/ 官网,可以下载安装程序,和doc,和驱动等. 2. http://www.mongoing.com/ 国内官方网站,博客,问题谈论等 ...
- 利用 nodeJS 搭建一个简单的Web服务器(转)
下面的代码演示如何利用 nodeJS 搭建一个简单的Web服务器: 1. 文件 WebServer.js: //-------------------------------------------- ...
- 搭建一套简单的web服务器,记录实验过程
搭建web服务器 一.实验内容: 实验要求: 1.完成一个简单的web服务器,web服务器从mysql里读取数据进行返回 2.Mysql需要有一个单独的数据盘,每个mysql虚拟机的磁盘挂载方式需要都 ...
- 一个简单的web服务器
写在前面 新的一年了,新的开始,打算重新看一遍asp.net本质论这本书,再重新认识一下,查漏补缺,认认真真的过一遍. 一个简单的web服务器 首先需要引入命名空间: System.Net,关于网络编 ...
- 代码片段 - Golang 实现简单的 Web 服务器
------------------------------ 下面一段代码,实现了最简单的 Web 服务器: 编译环境: Linux Mint 18 Cinnamon 64-bit Golang 1. ...
- 用go-module作为包管理器搭建go的web服务器
本篇博客主要介绍了如何从零开始,使用Go Module作为依赖管理,基于Gin来一步一步搭建Go的Web服务器.并使用Endless来使服务器平滑重启,使用Swagger来自动生成Api文档. 源码在 ...
- 自己动手模拟开发一个简单的Web服务器
开篇:每当我们将开发好的ASP.NET网站部署到IIS服务器中,在浏览器正常浏览页面时,可曾想过Web服务器是怎么工作的,其原理是什么?“纸上得来终觉浅,绝知此事要躬行”,于是我们自己模拟一个简单的W ...
随机推荐
- 在SqlServer 中解析JSON数据 [parseJSON] 函数 数据库中 解析JSON
使用如下: SELECT * FROM parseJSON('{ "联系人": { "姓名": "huang", "网名" ...
- 未能加载文件或程序集“Newtonsoft.Json”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)
"/"应用程序中的服务器错误. 未能加载文件或程序集"Newtonsoft.Json"或它的某一个依赖项.找到的程序集清单定义与程序集引用不匹配. (异常来自 ...
- swift3.0:sqlite3的使用
介绍 一.sqlite是纯C语言中底层的数据库,在OC和Swift中都是经常使用的数据库,在开发中,可以使用代码创建数据库,可以使用图形化界面创建数据库.例如SQLiteManager.SQLiteS ...
- 在ASP.NET MVC中以post方式传递数组参数的示例【转】
最近在工作中用到了在ASP.NET MVC中以post方式传递数组参数的情况,记录下来,以供参考. 一.准备参数对象 在本例中,我会传递两个数组参数:一个字符串数组,一个自定义对象数组.这个自定义对象 ...
- vue使用watch 观察路由变化,重新获取内容
watch: { $route(to) { console.log(to) if (to.path.indexOf('index') != -1) { //路由变化后重新获取帖子列表 this.$ht ...
- jquery.cookie 使用方法
一个轻量级的cookie 插件,可以读取.写入.删除 cookie. jquery.cookie.js 的配置 首先包含jQuery的库文件,在后面包含 jquery.cookie.js 的库文件. ...
- 【流处理】Kafka Stream-Spark Streaming-Storm流式计算框架比较选型
Kafka Stream-Spark Streaming-Storm流式计算框架比较选型 elasticsearch-head Elasticsearch-sql client NLPchina/el ...
- sql-获取指定年份指定月份的天数
declare @年月 varchar(6) set @年月= '201803' --查询2015年2月有多少天 select day(dateadd(month,1,@年月+ '01 ')-1)
- JPA(七):映射关联关系------映射双向多对一的关联关系
映射双向多对一的关联关系 修改Customer.java package com.dx.jpa.singlemanytoone; import java.util.Date; import java. ...
- Thinkphp 获取所有子分类或父分类ID
/** * @Author: HTL * @Email: Huangyuan413026@163.com * @DateTime: 2016-04-22 11:25:02 * @Description ...