iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python3实现简单的http ser
  • 202
分享到

Python3实现简单的http ser

简单serhttp 2023-01-31 07:01:49 202人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

前端的开发的html给我们的时候,由于内部有一些ajax请求的.JSON的数据,需要在一个WEB server中查看,每次放到Http服务器太麻烦。还是直接用python造一个最方便。 最简单的,直接用python3 -m http.se

前端开发html给我们的时候,由于内部有一些ajax请求的.JSON的数据,需要在一个WEB server中查看,每次放到Http服务器太麻烦。还是直接用python造一个最方便。
最简单的,直接用
python3 -m http.server
但是我在测试的时候发现在收到json数据的时候,由于content-type不对,部分内容显示不出来,于是写出来新版本.
这个版本加了几种常见的mimetype的支持。
Mac下使用Python3 myhttpserver.py启动。


#!/usr/bin/env python
#--coding:utf-8--

from http.server import BaseHTTPRequestHandler, HTTPServer
from os import path
from urllib.parse import urlparse

curdir = path.dirname(path.realpath(__file__))
sep = '/'

# MIME-TYPE
mimedic = [
                        ('.html', 'text/html'),
                        ('.htm', 'text/html'),
                        ('.js', 'application/javascript'),
                        ('.CSS', 'text/css'),
                        ('.json', 'application/json'),
                        ('.png', 'image/png'),
                        ('.jpg', 'image/jpeg'),
                        ('.gif', 'image/gif'),
                        ('.txt', 'text/plain'),
                        ('.avi', 'video/x-msvideo'),
                    ]

class testHTTPServer_RequestHandler(BaseHTTPRequestHandler):
    # GET
    def do_GET(self):
        sendReply = False
        querypath = urlparse(self.path)
        filepath, query = querypath.path, querypath.query
        
        if filepath.endswith('/'):
            filepath += 'index.html'
        filename, fileext = path.splitext(filepath)
        for e in mimedic:
            if e[0] == fileext:
                mimetype = e[1]
                sendReply = True

        if sendReply == True:
            try:
                with open(path.realpath(curdir + sep + filepath),'rb') as f:
                    content = f.read()
                    self.send_response(200)
                    self.send_header('Content-type',mimetype)
                    self.end_headers()
                    self.wfile.write(content)
            except IOError:
                self.send_error(404,'File Not Found: %s' % self.path)

def run():
    port = 8000
    print('starting server, port', port)

    # Server settings
    server_address = ('', port)
    httpd = HTTPServer(server_address, testHTTPServer_RequestHandler)
    print('running server...')
    httpd.serve_forever()

if __name__ == '__main__':
    run()

--结束END--

本文标题: Python3实现简单的http ser

本文链接: https://www.lsjlt.com/news/190805.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python3实现简单的http ser
    前端的开发的html给我们的时候,由于内部有一些ajax请求的.json的数据,需要在一个web server中查看,每次放到http服务器太麻烦。还是直接用python造一个最方便。 最简单的,直接用python3 -m http.se...
    99+
    2023-01-31
    简单 ser http
  • python 搭建简单的http ser
    server: #coding=utf-8 from BaseHTTPServer import BaseHTTPRequestHandler import cgi class PostHandler(BaseHTTPRequestH...
    99+
    2023-01-31
    简单 python ser
  • python3 socket实现简单
    #!/usr/bin/env python# -- encoding: utf-8 --'''@Author : {liush}@License : (C) Copyright 2018-2037, {liush}@Contact...
    99+
    2023-01-31
    简单 socket
  • Golang中实现简单的Http Middleware
    本文主要针对Golang的内置库 net/http 做了简单的扩展,通过添加中间件的形式实现了管道(Pipeline)模式,这样的好处是各模块之间是低耦合的,符合单一职责原则,可以很...
    99+
    2024-04-02
  • Python实现简单的HTTP服务器(支
    python内置模块 SimpleHTTPServer  (支持下载功能) 在对应的工作目录下,运行命令python -m SimpleHTTPServer 即可把当前目录下以共享服务的形式共享出去。 外部访问可通过访问:http:/...
    99+
    2023-01-31
    简单 服务器 Python
  • 利用python实现简单的http和ht
    http服务器代码: #!/usr/bin/python3 #python version 3.7 import sys from http import server from http.server import SimpleH...
    99+
    2023-01-31
    简单 python ht
  • Golang简单实现http的server端和client端
    介绍 HTTPS (Secure Hypertext Transfer Protocol)安全超文本传输协议,是一个安全通信通道,它基于HTTP开发用于在客户计算机和服务器之间交换...
    99+
    2024-04-02
  • 基于python的简单HTTP服务器实现
    HTTP协议 请求报文 请求头部字段解析 响应报文 响应头部字段解析 响应状态码 HTTP服务器实现 http协议大概是我们接触的最多的协议了,每打开一个网页,浏览器和服务器之间,使用的就是HTTP协议。...
    99+
    2023-01-31
    简单 服务器 python
  • 【Python3】Python简单的登
    #!/usr/bin/env python # -*- coding: utf-8 -*- # Author:Chuncheng.Fan <xmzncc@gmail.com> f1 = open('db','r') dat...
    99+
    2023-01-31
    简单 Python
  • Golang如何实现简单http服务器
    这篇文章主要介绍“Golang如何实现简单http服务器”,在日常操作中,相信很多人在Golang如何实现简单http服务器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Golang如何实现简单http服务器...
    99+
    2023-07-05
  • Golang实现简单http服务器的示例详解
    目录一、基本描述二 、具体方法2.1 连接的建立2.2 http请求解析2.3 http请求处理2.4 http请求响应三、完整示例一、基本描述 完成一个http请求的处理和响应,主...
    99+
    2023-03-20
    Golang实现http服务器 Golang http服务器 Golang 服务器
  • Python3+pycuda实现执行简单GPU计算任务
    目录技术背景pycuda环境配置使用GPU计算向量指数总结概要技术背景 GPU的加速技术在深度学习、量子计算领域都已经被广泛的应用。其适用的计算模型是小内存的密集型计算场景,如果计算...
    99+
    2023-03-14
    Python pycuda计算GPU Python计算GPU Python pycuda
  • Go语言Http Server框架实现一个简单的httpServer
    目录实现一个简单地httpServer首先我们来写一个接口基于http库实现一个结构体实现Server接口实现一个简单地httpServer 上一篇文章对http库的基本使用做了说明...
    99+
    2023-05-18
    Go Http Server框架 Go HttpServer
  • python3+telnetlib实现简单自动测试示例详解
    目录1 telnetlib介绍 1.1 简介1.2 库常用函数及使用1.2.1 建立连接1.2.2 发送命令1.2.3 读取返回数据1.2.4 关闭连接1.3 使用示例2 ...
    99+
    2024-04-02
  • python3对emqtt的简单操作
    需要先下载外部包 pip install paho-mqtt 发布者 import paho.mqtt.client as mqtt HOST = "192.168.44.31" PORT = 1883 def Publish_Mess...
    99+
    2023-01-31
    操作 简单 emqtt
  • Python3中PyQt5简单实现文件打开及保存
    本文主要介绍了Python3中PyQt5简单实现文件打开及保存,分享给大家,具体如下: # -*- coding: utf-8 -*- # Form implementati...
    99+
    2024-04-02
  • SpringCloudAlibaba整合Feign实现远程HTTP调用的简单示例
    目录前言环境简单示例Feign 的组成和支持的配置项 Feign 的组成Feign 支持的配置项Feign 的日志 Feign 的日志级别自定义配置 Feign ...
    99+
    2024-04-02
  • 怎么在Golang中实现一个简单的Http中间件
    本篇内容主要讲解“怎么在Golang中实现一个简单的Http中间件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么在Golang中实现一个简单的Http中间件”吧!本文主要针对Golang的内...
    99+
    2023-06-20
  • python3装饰器的简单解释
    闭包,也叫词法闭包:如下所示函数A主要是为了函数B提供运行环境的 闭包只是在表现和形式上像函数,其实闭包并不是函数 由函数在嵌套环境中,内层函数里,对外层函数作用域的变量进行了引用,那么在外层函数返回后,内层函数依然可是使用外层函数的变量,...
    99+
    2023-01-31
    简单
  • python3实现单例模式
    单例模式指确保某个类在整个系统中只存在一个实例的一种设计模式使用单例模式的好处:1、每个实例都会占用一定的内存资源,且初始化实例时会影响运行性能,所以当整个系统只需一个实例时,使用单例模式不仅可减少资源占用,而且因为只初始化一次,还可以加...
    99+
    2023-01-31
    模式
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作