GVKun编程网logo

从命令行调用Python SimpleHTTPServer(无缓存选项)(python调用命令行命令)

14

在这篇文章中,我们将为您详细介绍从命令行调用PythonSimpleHTTPServer的内容,并且讨论关于无缓存选项的相关问题。此外,我们还会涉及一些关于centos---启动一个简单的http服务

在这篇文章中,我们将为您详细介绍从命令行调用Python SimpleHTTPServer的内容,并且讨论关于无缓存选项的相关问题。此外,我们还会涉及一些关于centos---启动一个简单的http服务器python -m SimpleHTTPServer、python -m SimpleHTTPServer-侦听0.0.0.0:8000,但http://0.0.0.0:8000/test.html给出“找不到页面”、python -m SimpleHTTPServer搭建简单HTTP服务、Python SimpleHTTPServer的知识,以帮助您更全面地了解这个主题。

本文目录一览:

从命令行调用Python SimpleHTTPServer(无缓存选项)(python调用命令行命令)

从命令行调用Python SimpleHTTPServer(无缓存选项)(python调用命令行命令)

在Windows 7上,我使用命令行

python -m SimpleHTTPServer 8888

调用简单的Web服务器来从目录中提供文件以进行开发。

问题在于服务器似乎将文件保留在缓存中。尽管可以使用较新的文件,但仍会提供旧版本的文件。

有没有一种方法可以从命令行直接指定“ no cache”选项?

centos---启动一个简单的http服务器python -m SimpleHTTPServer

centos---启动一个简单的http服务器python -m SimpleHTTPServer

我们可以很简单的使用  python -m SimpleHTTPServer 快速搭建一个http服务,提供一个文件浏览的web服务。

命令如下:

python -m SimpleHTTPServer 8000
以命令执行路径为
共享目录。

使用上面的命令可以把当前目录发布到8000端口。

但是这条命令是当前运行的,不是后台运行的,也就是说如果Ctrl + C,则该端口就会关闭。

python -m SimpleHTTPServer 8000 &

在上述命令的最后加一个 & ,则该命令产生的进程在后台运行,不会影响当前终端的使用(我们在只有一个bash的环境下)。

生成的新的进程为当前bash的子进程,所以,当我们关闭当前bash时,相应的子进程也会被kill掉,这也不是我们想要的结果。

nohup python -m SimpleHTTPServer 8000 &

在命令的开头加一个nohup,忽略所有的挂断信号,如果当前bash关闭,则当前进程会挂载到init进程下,成为其子进程,这样即使退出当前用户,其8000端口也可以使用。

浏览器访问:http://{ip}:8000/

curl -L  http://{ip}:8000/test.sh

 

Python的-m参数

1、在命令行中启动Python脚本的时候,经常会用到-m参数,那么-m起了什么作用呢?

2、先看看 python --help 给出的信息:

run library module as a script (terminates option list)

意思是将库中的python模块用作脚本去运行。

 

3、常用例子

python -m SimpleHTTPServer    #python2中启动一个简单的http服务器
python -m http.server    #python3中启动一个简单的http服务器

4、将模块当做脚本去启动有什么用?

  1. python xxx.py
  2. python -m xxx.py

这是两种加载py文件的方式:
1叫做直接运行
2相当于import,叫做当做模块来启动

 

不同的加载py文件的方式,主要是影响sys.path这个属性。sys.path相当于Linux中的PATH

复制代码
>>> import sys
>>> sys.path
['''', ''D:\\Python3\\lib\\site-packages\\django-1.10.1-py3.5.egg'', ''D:\\Python3\\l
ib\\site-packages\\psycopg2-2.6.2-py3.5-win32.egg'', ''D:\\Python3\\python35.zip'',
 ''D:\\Python3\\DLLs'', ''D:\\Python3\\lib'', ''D:\\Python3'', ''D:\\Python3\\lib\\site
-packages'']
复制代码

这就是当前Python解析器运行的环境,Python解析器会在这些目录下去寻找依赖库。

 

python -m SimpleHTTPServer-侦听0.0.0.0:8000,但http://0.0.0.0:8000/test.html给出“找不到页面”

python -m SimpleHTTPServer-侦听0.0.0.0:8000,但http://0.0.0.0:8000/test.html给出“找不到页面”

进入我的文件夹后,我输入

python -m SimpleHTTPServer

并得到

Serving HTTP on 0.0.0.0 port 8000 ...

回复。但是当我点击时,http://0.0.0.0:8000/test.html出现页面未找到错误。

我也尝试过

pushd /path/you/want/to/serve; python -m SimpleHTTPServer; popd

当我打ls时,我可以看到文件和目录。有人知道我在做什么错吗?

答案1

小编典典

我认为其他两个答案试图明确表明0.0.0.0不是您应访问的URL。当Python网络服务器(例如,cherrypy)说它在0.0.0.0上运行时,意味着它正在侦听最终到达该计算机的所有TCP通信,无论请求的主机名或IP。但是,如果将其更改为使套接字侦听127.0.0.1或“
localhost”,则除非该请求专门针对该IP
/主机名,否则它将不会响应该请求。例如,很多时候您可以使用计算机名代替localhost(例如,ubuntu允许使用此名称)。如果您的计算机名称是“
brian”,并且您有一个正在侦听0.0.0.0:8080的服务器,则应该可以使用http://
brian:8080来访问该服务器。。但是,即使该服务器正在“
localhost”上侦听,即使“ brian”被设置为指向“ localhost”,该服务器也不会收到该消息。

您还需要确保文件确实在运行命令的目录中。否则,404响应实际上是正确的:)

祝好运!

python -m SimpleHTTPServer搭建简单HTTP服务

python -m SimpleHTTPServer搭建简单HTTP服务

PYTHON自带HTTP服务,命令:

python -m SimpleHTTPServer

使用上述命令将当前目录发布到8000端口,为当前进行,不是后台运行

 

指定端口:

python -m SimpleHTTPServer 8000

 

指定后台运行,加&:

python -m SimpleHTTPServer 8000 &

生成的新的进程为当前bash的子进程,当关闭当前bash时,相应的子进程也会被kill掉,这也不是我们想要的结果。

 

nohup python -m SimpleHTTPServer 8000 &

加nohup,忽略所有的挂断信号,如果当前bash关闭,则当前进程会挂载到init进程下,成为其子进程,这样即使退出当前用户,其8000端口也可以使用。

 

注意:

1. SimpleHTTPServer有一个特性,如果待共享的目录下有index.html,那么index.html文件会被视为默认主页;如果不存在index.html文件,那么就会显示整个目录列表。
2. 在哪个目录下启动,就会以当前目录为根目录展示列表

 

 
 

 

Python SimpleHTTPServer

Python SimpleHTTPServer

 

  搭建 FTP,或者是搭建网络文件系统,这些方法都能够实现 Linux 的目录共享。但是 FTP 和网络文件系统的功能都过于强大,因此它们都有一些不够方便的地方。比如你想快速共享 Linux 系统的某个目录给整个项目团队,还想在一分钟内做到,怎么办?

很简单,使用 SimpleHTTPServer。

  各种 Linux 发行版通常都内置了 Python,故使用此方法非常方便。在其它 OS(比如 Windows)此方法也有效,但是要麻烦一些,必须先搭建 Python 环境。

  SimpleHTTPServer 是 Python 2 自带的一个模块,是 Python 的 Web 服务器。它在 Python 3 已经合并到 http.server 模块中。SimpleHTTPServer 在 Python 3 的用法与在 Python 2 的用法相似 (python3 -m http.server 6789), 本文以 Python 2 为例。

  SimpleHTTPServer 有一个特性,如果待共享的目录下有 index.html,那么 index.html 文件会被视为默认主页;如果不存在 index.html 文件,那么就会显示整个目录列表。

SimpleHTTPServer 使用方法

  1)进入待分享的目录 
  2)执行命令 python -m SimpleHTTPServer 端口号 
    注意:不填端口号则默认使用 8000 端口。 
  3)浏览器访问该主机的地址:http://IP: 端口号 /

我们今天的关于从命令行调用Python SimpleHTTPServer无缓存选项的分享已经告一段落,感谢您的关注,如果您想了解更多关于centos---启动一个简单的http服务器python -m SimpleHTTPServer、python -m SimpleHTTPServer-侦听0.0.0.0:8000,但http://0.0.0.0:8000/test.html给出“找不到页面”、python -m SimpleHTTPServer搭建简单HTTP服务、Python SimpleHTTPServer的相关信息,请在本站查询。

本文标签: