导航:首页 > 编程语言 > pythonhttpserver模块

pythonhttpserver模块

发布时间:2022-03-05 13:18:48

‘壹’ python的simplehttpserver模块怎么指定网页目录

SimpleHTTPServer:包含执行GET和HEAD请求的SimpleHTTPRequestHandler类。
通过下面命令我们创建了HTTP服务,默认使用8000端口号监听。如果文件夹下有index.html,那么这个文件就会成为一个默认页,如果没有这个文件,那么,目录列表就会显示出来。

‘贰’ 请问python建立simplehttpserver服务器的时候为什么会卡住

正常,这才是服务器
首先确保装了Python,我装的是2.x版本,对了,我的操作系统是WIN7,其实对于Python来说,什么操作系统并不重要。Python内置了一个简单的HTTP服务器,只需要在命令行下面敲一行命令,一个HTTP服务器就起来了:
python -m SimpleHTTPServer 80

后面的80端口是可选的,不填会采用缺省端口8000。注意,这会将当前所在的文件夹设置为默认的Web目录,试着在浏览器敲入本机地址:

如果当前文件夹有index.html文件,会默认显示该文件,否则,会以文件列表的形式显示目录下所有文件。这样已经实现了最基本的文件分享的目的,你可以做成一个脚本,再建立一个快捷方式,就可以很方便的启动文件分享了。如果有更多需求,完全可以根据自己需要定制,具体的请参见官方文档SimpleHTTPServer,或者直接看源码。我拷贝一段,方便参考:
import SimpleHTTPServer
import SocketServer

PORT = 8000

Handler = SimpleHTTPServer.SimpleHTTPRequestHandler

httpd = SocketServer.TCPServer(("", PORT), Handler)

print "serving at port", PORT
httpd.serve_forever()

如果你想改变端口号,你可以使用如下的命令:

python -m SimpleHTTPServer 8080

如果你只想让这个HTTP服务器服务于本地环境,那么,你需要定制一下你的Python的程序,下面是一个示例:

import sys
import BaseHTTPServer
from SimpleHTTPServer import SimpleHTTPRequestHandler
HandlerClass = SimpleHTTPRequestHandler
ServerClass = BaseHTTPServer.HTTPServer
Protocol = "HTTP/1.0"

if sys.argv[1:]:
port = int(sys.argv[1])
else:
port = 8000
server_address = ('127.0.0.1', port)

HandlerClass.protocol_version = Protocol
httpd = ServerClass(server_address, HandlerClass)

sa = httpd.socket.getsockname()
print "Serving HTTP on", sa[0], "port", sa[1], "..."
httpd.serve_forever()

注意:所有的这些东西都可以在 Windows 或 Cygwin 下工作。
您可能感兴趣的文章:

‘叁’ python的BaseHTTPServer模块怎样接收post请求能给出,把接收到的POST数据输...

#!/usr/bin/python
#encoding=utf-8
'''
基于BaseHTTPServer的http server实现,包括get,post方法,get参数接收,post参数接收。
'''
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
import io,shutil
import urllib
import os, sys

class MyRequestHandler(BaseHTTPRequestHandler):
def do_GET(self):
mpath,margs=urllib.splitquery(self.path) # ?分割
self.do_action(mpath, margs)

def do_POST(self):
mpath,margs=urllib.splitquery(self.path)
datas = self.rfile.read(int(self.headers['content-length']))
self.do_action(mpath, datas)

def do_action(self, path, args):
self.outputtxt(path + args )

def outputtxt(self, content):
#指定返回编码
enc = "UTF-8"
content = content.encode(enc)
f = io.BytesIO()
f.write(content)
f.seek(0)
self.send_response(200)
self.send_header("Content-type", "text/html; charset=%s" % enc)
self.send_header("Content-Length", str(len(content)))
self.end_headers()
shutil.fileobj(f,self.wfile)

‘肆’ python httpserver怎么处理跨域

os.popen()可以实现一个“管道”,从这个命令获取的值可以继续被调用。而os.system不同,它只是调用,调用完后自身退出,可能返回个0吧 懂了吧,所以如果你不需要 os.popen('start "" python -m SimpleHTTPServer 80')这个命令的返回值

‘伍’ 使用python启动了一个simplehttp server服务,跑完任务后怎么样关掉这个服务的

os.popen()可以实现一个“管道”,从这个命令获取的值可以继续被调用。而os.system不同,它只是调用,调用完后自身退出,可能返回个0吧

懂了吧,所以如果你不需要 os.popen('start "" python -m SimpleHTTPServer 80')这个命令的返回值,那就直接用os.system好了。

‘陆’ 如何用PYTHON的CGIHTTPSERVER模块模拟POST请求

简单来说它是一个应用层的协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。HTTP是一个无状态的协议
即同一个客户端的这次请求和上次请求是没有对应关系,对http服务器来说,它并不知道这两个请求来自同一个客户端,为了解决这个问题,Web程序引入了Cookie机制来维护状态。

‘柒’ python找不到BaseHTTPServer

首先表示本人不知道这个模块功能,但是针对你这情况,以下建

议可能能帮助你:

BaseHTTPServer是一个模块,anaconda可能不包含这个模块,所以你要自己安装以下,但是我这边pip安装失败,pipy可能没有收录。

然后我查看了官方文档,文档上说:

Note:.serverinPython3.

Python3.

翻译:注意BaseHTTPServer模块已经合并到http.server在Python 3中。版本2工具会自动适应进口时将消息转换为Python 3。

所以说你这需要pip install 安装一下包,但是具体哪个包,我也搞不清额

‘捌’ linux下终端python -m SimpleHTTPServer 80没用

请使用python3
python3 -m http.server
代替
python3 内置

‘玖’ python的BaseHTTPServer模块,WEB服务启动后,怎样让GET请求中,有指定值就停...

有一个force_stop()的方法啊,判断get的参数,如果是指定值得话就调用force_stop就可以了。

阅读全文

与pythonhttpserver模块相关的资料

热点内容
优信二手车解压后过户 浏览:63
Windows常用c编译器 浏览:780
关于改善国家网络安全的行政命令 浏览:835
安卓如何下载网易荒野pc服 浏览:656
javainetaddress 浏览:106
苹果4s固件下载完了怎么解压 浏览:1005
命令zpa 浏览:288
python编译器小程序 浏览:946
在app上看视频怎么光线调暗 浏览:541
可以中文解压的解压软件 浏览:594
安卓卸载组件应用怎么安装 浏览:914
使用面向对象编程的方式 浏览:341
程序员项目经理的年终总结范文 浏览:932
内衣的加密设计用来干嘛的 浏览:434
淮安数据加密 浏览:294
魔高一丈指标源码 浏览:983
松下php研究所 浏览:169
c回调java 浏览:402
梦幻端游长安地图互通源码 浏览:747
电脑本地文件如何上传服务器 浏览:315