当前位置: 首页 > 面试题库 >

如何运行提供特定路径的http服务器?

堵鸿光
2023-03-14
问题内容

这是我的Python3项目hiearchy:

projet
  \
  script.py
  web
    \
    index.html

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()

但其实这服务project,而不是web。如何指定要提供服务的文件夹的路径?


问题答案:

https://docs.python.org/3/library/http.server.html#http.server.SimpleHTTPRequestHandler

此类提供当前目录及以下目录中的文件,将目录结构直接映射到HTTP请求。

因此,您只需要在启动服务器之前更改当前目录-请参阅
os.chdir

例如:

import http.server
import socketserver
import os

PORT = 8000

web_dir = os.path.join(os.path.dirname(__file__), 'web')
os.chdir(web_dir)

Handler = http.server.SimpleHTTPRequestHandler
httpd = socketserver.TCPServer(("", PORT), Handler)
print("serving at port", PORT)
httpd.serve_forever()


 类似资料:
  • 我正在为我的项目使用maven,在提供GroupId、ArtifactId和Version之后,需要提供一个Nexus路径。 我的Nexus路径-https://nexus/content/repositories/ 路径中存在的工件-https:/mynexusdomain/nexus/内容/存储库/快照/com/org/abc/myartifactid/MySnapshotVersion/pl

  • 我有文件在和我想服务他们在使用一个简单的nginx配置。在文件夹中是这样的: 所以我真的希望能够访问,等。 在我的nginx配置中,我有: 这不起作用(如果我尝试转到上面的URL,我会得到404),但是如果我尝试完全相同的设置,但是使用而不是,它可以正常工作。我如何静态地为这个文件目录提供服务,但不是在根位置,而是在一个路径上?我是否必须将文件放在一个名为“某物”的文件夹中,如,这样才能工作?如果

  • 简介 服务提供器是所有 Laravel 应用程序引导中心。你的应用程序以及 Laravel 的所有核心服务都是通过服务提供器进行引导。 在这里,我们说的「引导」其实是指 注册 ,比如注册服务容器绑定、事件监听器、中间件,甚至是路由的注册。服务提供器是配置你的应用程序的中心。 Laravel 的 config/app.php 文件中有一个 providers 数组。数组中的内容是应用程序要加载的所有

  • React路由器允许React应用程序处理。为了工作,我需要我的服务器在任何匹配的路由上发送React应用程序。 但是webpack dev server不能处理任意的endpoint。 这里有一个使用附加快递服务器的解决方案。如何允许webpack-dev-server允许来自react-router的入口点 但我不想启动另一个express服务器来允许路由匹配。我只想告诉WebpackDevS

  • 简介 服务提供者是所有 Lumen 应用程序启动的中心所在。包括你自己的应用程序,以及所有的 Lumen 核心服务,都是通过服务提供者启动的。 但是,我们所说的「启动」指的是什么?一般而言,我们指的是 注册 事物,包括注册服务容器绑定、事件侦听器、中间件,甚至路由。服务提供者是设置你的应用程序的中心所在。 若你打开 Lumen 的 bootstrap/app.php 文件,你将会看到 $app->

  • 服务提供者是组件和CatLib联系的桥梁。同时也是CatLib启动的中心,所有的服务都是通过服务提供者定义的。 名词定义 组件 组件与CatLib没有任何关系,她们可以独立的运行在不同的框架中。 服务 是由服务提供者将由一个或者多个组件组合而成,并提供一组可以被开发者使用的接口。 容器 CatLib 依赖注入容器。 架构图 创建服务提供者 服务提供者是用来描述一个服务如何为使用者提供服务的,这些关