python第三方库系列之十六--建立最简单的web服务器

利用Python自带的包可以建立简单的web服务器。在DOS里cd到准备做服务器根目录的路径下,输入命令:

  • python -m Web服务器模块 [端口号,默认8000]

例如:

  • python -m SimpleHTTPServer 8080

然后就可以在浏览器中输入

  • http://localhost:端口号/路径

来访问服务器资源。

例如:

  • http://localhost:8080/index.htm(当然index.htm文件得自己创建)

其他机器也可以通过服务器的IP地址来访问。

这里的“Web服务器模块”有如下三种:

  • BaseHTTPServer: 提供基本的Web服务和处理器类,分别是HTTPServer和BaseHTTPRequestHandler。
  • SimpleHTTPServer: 包含执行GET和HEAD请求的SimpleHTTPRequestHandler类。
  • CGIHTTPServer: 包含处理POST请求和执行CGIHTTPRequestHandler类。
时间: 2024-12-14 18:12:26

python第三方库系列之十六--建立最简单的web服务器的相关文章

python第三方库系列之十四--集群化部署定时任务apscheduler库

如果将定时任务部署在一台服务器上,那么这个定时任务就是整个系统的单点,这台服务器出现故障的话会影响服务.对于可以冗余的任务(重复运行不影响服务),可以部署在多台服务器上,让他们同时执行,这样就可以很简单的避免单点.但是如果任务不允许冗余,最多只能有一台服务器执行任务,那么前面的方法显然行不通.本篇文章就向大家介绍如何避免这种互斥任务的单点问题,最后再介绍一下基于APScheduler的分布式定时任务框架,这个框架是通过多个项目的实践总结而成的. 对于运行在同一台服务器上的两个进程,可以通过加锁实

python第三方库系列之十八--python/django test库

django是属于python语音的web框架,要说django測试.也能够先说说python的測试.django能够用python的方式測试,当然,django也基于python封装了一个自己的測试库. 一.python的測试--unitest库 def my_func(a_list, idx): return a_list[idx] import unittest class MyFuncTestCase(unittest.TestCase): def testBasic(self): a

python第三方库系列之十--commands库

我们这次讲的是利用commands模块执行Linux shell命令,当我们用Python写运维脚本时,经常需要执行linux shell的命令,Python中的commands模块专门用于调用Linux shell命令,并返回状态和结果,下面是commands模块的3个主要函数: 1.commands.getoutput('shell command') 2.commands.getstatus('file') 3.commands.getstatusoutput('shell command

python第三方库系列之十五--编码库

首先上一张图: 我们知道:1字节=8位 因为Python的诞生比Unicode标准发布的时间还要早,所以最早的Python只支持ASCII编码,普通的字符串'ABC'在Python内部都是ASCII编码的.Python提供了ord()和chr()函数,可以把字母和对应的数字相互转换: >>> ord('A') 65 >>> chr(65) 'A' Python在后来添加了对Unicode的支持,以Unicode表示的字符串用u'...'表示,比如: >>&g

python第三方库系列之十九--python测试使用的mock库

一.为什么需要mock 在写unittest的时候,如果系统中有很多外部依赖,我们不需要也不希望把所有的部件都运行一遍.比如,要验证分享到微博的功能,如果每次测试的时候都要真实地把接口调用一遍,不仅效率低,制造很多垃圾数据,还可能因为外部因素导致unittest失败.对于有些耗时更久,或者无法简单创建测试环境的系统,真实的测试就显得更不必要. 我们只需要知道代码按照预期执行,并调用了相关的外部接口.还是拿分享到微博这个功能做例子,分享部分的伪代码可能是这样的: def share(): "&qu

python第三方库系列之十七--multiprocessing库

说到并发,我们想到多线程和多进程. 那到底使用多进程还是多线程呢?这得看情况.我们的程序一般分为: 1)耗网络的(有很大一部分时间是在网络交互): 2)耗CPU的(得充分利用多核) 在第一种情况,时间大部分被网络延时占用,所以使用多线程和多进程都差不多. 在第二种情况,时间的长短由CPU是否被充分利用决定,看<python第三方库系列之十二--多线程threading库>可知,多线程会出现锁机制,所以多进程更胜一筹,充分利用了CPU,节省了时间. 以下是一个多进程例子: #coding=utf

【转】用Python建立最简单的web服务器

利用Python自带的包可以建立简单的web服务器.在DOS里cd到准备做服务器根目录的路径下,输入命令: python -m Web服务器模块 [端口号,默认8000] 例如: python -m SimpleHTTPServer 8080 然后就可以在浏览器中输入 http://localhost:端口号/路径 来访问服务器资源. 例如: http://localhost:8080/index.htm(当然index.htm文件得自己创建) 其他机器也可以通过服务器的IP地址来访问. 这里的

学习用node.js建立一个简单的web服务器

一.建立简单的Web服务器涉及到Node.js的一些基本知识点: 1.请求模块 在Node.js中,系统提供了许多有用的模块(当然你也可以用JavaScript编写自己的模块,以后的章节我们将详细讲解),如http.url等.模块封装特定的功能,提供相应的方法或属性,要使用这些模块,需要先请求模块获得其操作对象. 例如要使用系统的http模块,可以这样写: var libHttp = require('http'); //请求HTTP协议模块 这样,以后的程序将可以通过变量libHttp访问ht

python第三方库系列之十一--django.db的connection库

平时用django去向数据库中读写数据都是用的Model,直接molel.objects.filter(Q())或者model.objects.get(Q())等读取数据.然而这样的Q()查询SQL语句就必须符合django ORM的规范,今天想总结的是用connection库和原生的SQL语句读写数据库. from django.db import connection SQL_str = "select * from book" cursor = connection.cursor