什么是Python 3相当于python -m SimpleHTTPServer?
Python的http.server(或Python的SimpleHTTPServer)是从命令行提供当前目录内容的好方法:
python -m http.server
Run Code Online (Sandbox Code Playgroud)
但是,就网络服务器而言,它非常低调......
它表现得好像是单线程的,并且在使用RequireJS加载JavaScript AMD模块时偶尔会导致超时错误.加载一个没有图像的简单页面可能需要五到十秒钟.
什么是更快的替代方案,同样方便?
我正在尝试从mac终端设置一个带python的服务器.
我导航到文件夹位置使用:
python -m SimpleHTTPServer
Run Code Online (Sandbox Code Playgroud)
但这给了我错误:
socket.error: [Errno 48] Address already in use
Run Code Online (Sandbox Code Playgroud)
我以前使用相同的命令为我机器中不同位置的不同网站打开连接.
我想SimpleHTTPServer在Windows XP上设置Python .我在我的电脑上安装了Python.我正在执行以下命令:
python -m SimpleHTTPServer 8888
Run Code Online (Sandbox Code Playgroud)
但是我收到了错误:
C:\Python33\python.exe: No module named SimpleHTTPServer
Run Code Online (Sandbox Code Playgroud)
是否SimpleHTTPServer可以在Windows上使用Python?如果是,我该怎么做才能设置服务器?
我有一个非常简单的HTTP服务器的以下shell脚本:
#!/bin/sh
echo "Serving at http://localhost:3000"
python -m SimpleHTTPServer 3000
Run Code Online (Sandbox Code Playgroud)
我想知道如何启用或添加像这个服务器的CORS标头Access-Control-Allow-Origin: *?
我有一个vpn连接,当我运行python -m SimpleHTTPServer时,它服务于0.0.0.0:8000,这意味着它可以通过localhost 和我的真实IP访问.我不希望机器人扫描我,并且有兴趣只能通过localhost访问服务器.
可能吗?
python -m SimpleHTTPServer 127.0.0.1:8000 # doesn't work.
Run Code Online (Sandbox Code Playgroud)
任何其他可以使用命令行立即执行的简单http服务器也是受欢迎的.
所以我正在努力学习d3,wiki建议这样做
要在本地查看示例,您必须具有本地Web服务器.任何Web服务器都可以工作; 例如,您可以运行Python的内置服务器:
python -m SimpleHTTPServer 8888 &
很棒...只是现在我有一台服务器正在运行...但在某些时候我想我应该再次关闭它.
关闭它比使用更好的方法kill <pid>吗?对于一份小工作来说,这似乎是一件大事.
(我正在运行Mac OS 10.6.8(Snow Leopard))
FWIW:ctrl+c提供大约10行追溯,抱怨被打断.
kill -3 <pid> 在一个单独的窗口中发出一个Finder警告'Python意外退出'.
默认kill <pid>并且kill -15 <pid>相对干净(而且简单).
我正在SimpleHTTPServer测试一些我正在研究的网页.它工作得很好,但我需要做一些跨域请求.这需要设置Access-Control-Allow-Origin允许页面访问的域的标头.
有一种简单的方法可以使用SimpleHTTPServer设置标头并提供原始内容吗?每个请求的标头都是相同的.
这是我的Python3项目hiearchy:
projet
\
script.py
web
\
index.html
Run Code Online (Sandbox Code Playgroud)
从script.py,我想运行一个服务该web文件夹内容的http服务器.
这里建议这段代码运行一个简单的http服务器:
import http.server
import socketserver
PORT = 8000
Handler = http.server.SimpleHTTPRequestHandler
httpd = socketserver.TCPServer(("", PORT), Handler)
print("serving at port", PORT)
httpd.serve_forever()
Run Code Online (Sandbox Code Playgroud)
但这实际上是服务project,而不是web.如何指定要提供的文件夹的路径?
我正在尝试使用python SimpleHTTPServer构建一个简单的REST服务器.我在发布消息时遇到问题.如果我做得对,请告诉我.
from SimpleHTTPServer import SimpleHTTPRequestHandler
import SocketServer
import simplejson
class S(SimpleHTTPRequestHandler):
def _set_headers(self):
self.send_response(200)
self.send_header('Content-type', 'text/html')
self.end_headers()
def do_GET(self):
print "got get request %s" % (self.path)
if self.path == '/':
self.path = '/index.html'
return SimpleHTTPRequestHandler.do_GET(self)
def do_POST(self):
print "got post!!"
content_len = int(self.headers.getheader('content-length', 0))
post_body = self.rfile.read(content_len)
test_data = simplejson.loads(post_body)
print "post_body(%s)" % (test_data)
return SimpleHTTPRequestHandler.do_POST(self)
def run(handler_class=S, port=80):
httpd = SocketServer.TCPServer(("", port), handler_class)
print 'Starting httpd...'
httpd.serve_forever()
Run Code Online (Sandbox Code Playgroud)
index.html文件
<html>
<title>JSON TEST PAGE</title>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript"> …Run Code Online (Sandbox Code Playgroud) simplehttpserver ×10
python ×9
python-3.x ×3
command-line ×2
httpserver ×2
ajax ×1
cors ×1
cross-domain ×1
d3.js ×1
http ×1
macos ×1
python-2.x ×1
rest ×1
simplejson ×1
windows ×1