标签: simplehttpserver

需要实时嵌入式http服务器库

看了几个可用的http服务器库,我还没找到我要找的东西,并且我确信我不能成为第一个有这套要求的人.

我需要一个库,它提供了一个"流水线"的API.流水线操作用于描述HTTP功能,其中可以一次通过TCP链路发送多个HTTP请求,而无需等待响应.我想在库API上有类似的功能,我的应用程序可以接收所有这些请求,而不必发送响应(我会响应,但希望能够一次处理多个请求以减少内部延迟的影响).

因此,Web服务器库需要支持以下流程

1)HTTP客户端发送http请求1

2)HTTP客户端传输http请求2 ...

3)Web服务器库接收请求1并将其传递给My Web Server App

4)我的Web服务器应用程序接收请求1并将其发送到我的系统

5)Web服务器接收请求2并将其传递给My Web Server App

6)我的Web服务器应用程序接收请求2并将其发送到我的系统

7)我的Web服务器应用程序从我的系统接收对请求1的响应并将其传递给Web服务器

8)Web Server将HTTP响应1发送到HTTP客户端

9)我的Web服务器应用程序从我的系统接收对请求2的响应并将其传递给Web服务器

10)Web服务器将HTTP响应2发送到HTTP客户端

希望这说明了我的要求.有两个要点可以识别.对Web服务器库的响应是异步的,并且可能有多个HTTP请求传递给My Web Server App且响应未完成.

附加要求是

  1. 可嵌入现有的"C"应用程序中
  2. 占地面积小; 我不需要Apache等中提供的所有功能.
  3. 高效; 将需要每秒支持数千个请求
  4. 允许对请求进行异步响应; 它们对响应的延迟很小,并且根据所需的请求吞吐量,同步架构对我来说不起作用.
  5. 支持持久TCP连接
  6. 支持与Server-Push Comet连接一起使用
  7. 开源/ GPL
  8. 支持HTTPS
  9. 便携式跨linux,windows; 最好是更多.

我将非常感谢任何建议

最好的祝福

c embeddedwebserver http simplehttpserver

5
推荐指数
1
解决办法
7678
查看次数

BasicHTTPServer,SimpleHTTPServer和并发

我正在编写一个小型Web服务器,用于使用python,BasicHTTPServer和SimpleHTTPServer进行测试.它看起来像是一次处理一个请求.有没有什么方法可以让它更快一点而不会太深入?基本上我的代码如下所示,我想保持这个简单;)

os.chdir(webroot)
httpd = BaseHTTPServer.HTTPServer(("", port), SimpleHTTPServer.SimpleHTTPRequestHandler)
print("Serving directory %s on port %i" %(webroot, port) )
try:
 httpd.serve_forever()
except KeyboardInterrupt:
 print("Server stopped.")
Run Code Online (Sandbox Code Playgroud)

python concurrency simplehttpserver

4
推荐指数
1
解决办法
6257
查看次数

如何从 python http web 服务器发送 html 字符串?

我从http://www.linuxjournal.com/content/tech-tip-really-simple-http-server-python找到了一个 python http web 服务器

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()
Run Code Online (Sandbox Code Playgroud)

如果目录中有一个名为index.html的文件,则该文件将作为初始文件。如果没有index.html,那么将列出该目录中的文件。

如何修改脚本以便将自定义 html 发送到浏览器?

python simplehttpserver

4
推荐指数
1
解决办法
1万
查看次数

如何禁止此Shell命令的输出

为什么这个命令行中的重定向操作显然被bash忽略了?我的目标是将标准错误重定向到标准输出,然后将整个批次输入空白.

( cd ../src/ && python -m SimpleHTTPServer 8000 2>&1 > /dev/null ) &
Run Code Online (Sandbox Code Playgroud)

我在一些静态Web内容上运行SimpleHTTPServer,以便wget可以检查它是否有死链接.但是,我不希望看到来自服务器的错误(对失败页面的请求),因为wget日志文件提供了我需要的所有信息.

不过,当我跑这个......

( cd ../log/ && wget --quiet --spider --recursive -o spider.log http://localhost:8000/ 2>&1 > /dev/null )
Run Code Online (Sandbox Code Playgroud)

...在后台运行的原始SimpleHTTPServer命令继续喷出有关失败的资源请求的标准错误报告,如...

127.0.0.1 - - [28/May/2013 17:22:31] "GET /technology/actuator.html HTTP/1.1" 200 -
127.0.0.1 - - [28/May/2013 17:22:31] code 404, message File not found
Run Code Online (Sandbox Code Playgroud)

python bash simplehttpserver

4
推荐指数
1
解决办法
1581
查看次数

从外部网络访问SimpleHTTPServer

可以通过以下方式从ouside Network设置和访问Apache服务器:http : //lifehacker.com/124212/geek-to-live--how-to-set-up-a-personal-home-web-server 我想使用python SimpleHTTPServer实现类似的功能。这怎么可能?

python networking simplehttpserver

4
推荐指数
1
解决办法
1万
查看次数

SimpleHTTPServer:其他设备无法连接到服务器

最近我一直在玩 Python 以发现它的潜力,我刚刚偶然发现了 SimpleHTTPServer。

我在 Windows 10 上。

我跑:

python -m SimpleHTTPServer
Run Code Online (Sandbox Code Playgroud)

输出是:

Serving HTTP on 0.0.0.0 port 8000 ... 
Run Code Online (Sandbox Code Playgroud)

我在智能手机和平板电脑上都打开了浏览器,但是当我输入“ http://127.0.0.1:8000 ”时,它们都无法连接到服务器。

(翻译自意大利语,可能不是准确的翻译)

iPad:“Safari 无法打开页面,因为服务器已停止响应”

Android:“网页没有响应。该网页可能暂时不可用,或者可能已移至其他地址”

为什么它不起作用?我该如何解决?

python simplehttpserver

4
推荐指数
2
解决办法
5448
查看次数

Python SimpleHTTPServer不起作用 - 发生服务器错误

我刚刚尝试python -m SimpleHTTPServer 8000在一个目录中运行,我有一些基本的Web文件.它首先在它打印的命令行上运行正常:

Serving HTTP on 0.0.0.0 port 8000 ...

但是,当我尝试http://127.0.0.1:8000在浏览器中查看我的页面时,我收到以下错误消息:

发生服务器错误.请联系管理员.

很抱歉,如果这看起来很模糊,但我不是Python开发人员,所以我不知道它为什么不起作用.您有任何想法,为什么或如何开始调试此问题?

python http localhost simplehttpserver

3
推荐指数
1
解决办法
4873
查看次数

如何从 SimpleHTTPServer 获取客户端 IP

使用SimpleHTTPServerPython 中的模块构建一个简单的文件服务器,但是我在尝试从连接的客户端获取 IP 时遇到了问题。这是我所拥有的..

import SimpleHTTPServer

Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", 8080), Handler)

print "Serving local directory"

while True:
    httpd.handle_request()
    print Handler.client_address[0]
Run Code Online (Sandbox Code Playgroud)

当客户端连接时,我得到..

AttributeError:SimpleHTTPRequestHandler 类没有属性“client_address”

我知道这是因为我还没有实例化这个类,但是有没有另一种方法可以从客户端获取 IP 而不必创建处理程序实例?建立连接时,客户端的 IP 会输出到控制台,我只需要一种在脚本中获取该 IP 的方法。

谢谢!

python ip http fileserver simplehttpserver

3
推荐指数
1
解决办法
7881
查看次数

在 Python 中的 SimpleHTTP Server 上强制重新加载

我有一个用 Python 实现的非常简单的 HTTPServer。代码如下:

import SimpleHTTPServer
import SocketServer as socketserver
import os
import threading

class MyHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
    path_to_image = 'RGBWebcam1.png'
    img = open(path_to_image, 'rb')
    statinfo = os.stat(path_to_image)
    img_size = statinfo.st_size
    print(img_size)

def do_HEAD(self):
    self.send_response(200)
    self.send_header("Content-type", "image/png")
    self.send_header("Content-length", img_size)
    self.end_headers()

def do_GET(self):
    self.send_response(200)
    self.send_header("Content-type", "image/png")
    self.send_header("Content-length", img_size)
    self.end_headers() 
    f = open(path_to_image, 'rb')
    self.wfile.write(f.read())
    f.close()         

class MyServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
    def __init__(self, server_adress, RequestHandlerClass):
        self.allow_reuse_address = True
        socketserver.TCPServer.__init__(self, server_adress, RequestHandlerClass, False)

if __name__ == "__main__":
    HOST, PORT = "192.168.2.10", 9999
    server = MyServer((HOST, PORT), MyHandler) …
Run Code Online (Sandbox Code Playgroud)

python refresh simplehttpserver

3
推荐指数
1
解决办法
9083
查看次数

python -m http.server 可以配置为处理并发请求吗?

我有一个使用 http.server 的小型演示页面。我尝试与同事共享,但发现 http.server 在任何打开的连接上仍然被阻止,因此无法为并发用户提供服务。有没有办法运行 http.server 来处理并发连接?我在这里没有发现任何有用的东西:https ://docs.python.org/3/library/http.server.html

python http simplehttpserver httpserver

3
推荐指数
1
解决办法
3430
查看次数