我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

第一个python Web程序——简单的Web服务器。

与其它Web后端语言不同,Python语言需要自己编写Web服务器。

如果你使用一些现有的框架的话,可以省略这一步;

如果你使用Python CGI编程的话,也可以省略这一步;

利用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类。

Google在http://chart.apis.google.com 上提供了一个将表单数据自动转换为图表的服务。不过,该服务很难交互, 因为你需要将数据作为查询放到URL中。此程序为一种数据格式提供了更好的的接口: 给定一小段文本,它将调用图表服务器来生成二维码(QR码),这是一种编码文本的点格矩阵。 该图像可被你的手机摄像头捕获,并解释为一个字符串,比如URL, 这样就免去了你在狭小的手机键盘上键入URL的麻烦。

以下为完整的程序:

[python] view plain copy
  1. import os   #Python的标准库中的os模块包含普遍的操作系统功能  
  2. import re   #引入正则表达式对象  
  3. import urllib   #用于对URL进行编解码  
  4. from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler  #导入HTTP处理相关的模块  
  5.   
  6.   
  7. #自定义处理程序,用于处理HTTP请求  
  8. class TestHTTPHandler(BaseHTTPRequestHandler):  
  9.     #处理GET请求  
  10.     def do_GET(self):  
  11.         #页面输出模板字符串  
  12.         templateStr = '''''   
  13. <html>   
  14. <head>   
  15. <title>QR Link Generator</title>   
  16. </head>   
  17. <body>   
  18. %s 
  19. <br>   
  20. <br>   
  21. <form action="/qr" name=f method="GET"><input maxLength=1024 size=70   
  22. name=s value="" title="Text to QR Encode"><input type=submit   
  23. value="Show QR" name=qr>   
  24. </form> 
  25. </body>   
  26. </html> '''  
  27.   
  28.   
  29.     # 将正则表达式编译成Pattern对象  
  30.     pattern = re.compile(r'/qr\?s=([^\&]+)\&qr=Show\+QR')  
  31.     # 使用Pattern匹配文本,获得匹配结果,无法匹配时将返回None  
  32.     match = pattern.match(self.path)  
  33.     qrImg = ''  
  34.           
  35.     if match:  
  36.         # 使用Match获得分组信息  
  37.         qrImg = '<img class="lazy" data-src="http://chart.apis.google.com/chart?chs=300x300&cht=qr&choe=UTF-8&chl=' + match.group(1) + '" /><br />' + urllib.unquote(match.group(1))   
  38.   
  39.     self.protocal_version = 'HTTP/1.1'  #设置协议版本  
  40.     self.send_response(200) #设置响应状态码  
  41.     self.send_header("Welcome", "Contect")  #设置响应头  
  42.     self.end_headers()  
  43.     self.wfile.write(templateStr % qrImg)   #输出响应内容  
  44.       
  45. #启动服务函数  
  46. def start_server(port):  
  47.     http_server = HTTPServer(('', int(port)), TestHTTPHandler)  
  48.     http_server.serve_forever() #设置一直监听并接收请求  
  49.   
  50. os.chdir('static')  #改变工作目录到 static 目录  
  51. start_server(8000)  #启动服务,监听8000端口  

我这里将上面上代码保存为:C:\Python\webserver\server1.py,使用UTF-8编码;

打开命令行,切换到 C:\Python\webserver\ 目录,

执行:python server1.py

可能会弹出防火墙警告,点击允许访问。


在浏览器中访问,查看效果,打开浏览器,输入:http://localhost:8000/,结果如下图:

在文本框中输入一个URL,如(http://blog.csdn.NET/testcs_dn),点击Show QR,会生成一张二维码的图片


扫一扫这张二维码看看吧


与其它Web后端语言不同,Python语言需要自己编写Web服务器;

但与Go语言相比,Python稍微有些难以上手。

这里只是编写运行一个简单的例子,看看效果找找感觉。

虽然Python的大名已经知道很久,但最近才真正的接触,文中有不对的地方,有更好的方法还请前辈们多多指教!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

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

下载Word文档

猜你喜欢

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

第一个python Web程序——简单的Web服务器。与其它Web后端语言不同,Python语言需要自己编写Web服务器。如果你使用一些现有的框架的话,可以省略这一步;如果你使用Python CGI编程的话,也可以省略这一步;利用Pytho
2023-01-31

如何用python创建最简单的服务器

今天就跟大家聊聊有关如何用python创建最简单的服务器,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  本文使用socket实现,  使用python访问  下面,我们开始讲解实现
2023-06-02

怎么用python建立web服务

这篇文章主要介绍了怎么用python建立web服务的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用python建立web服务文章都会有所收获,下面我们一起来看看吧。说明1、需要一种简单快捷的方法来建立RPC
2023-06-30

Python 实现简单 Web 服务器

最近有个需求,就是要创建一个简到要多简单就有多简单的web服务器,目的就是需要一个后台进程用来接收请求然后处理并返回结果,因此就想到了使用python来实现。首先创建一个myapp.py文件,其中定义了一个方法,所有的请求都会经过此方法,可
2023-01-31

Python简单实现Web服务器

import socketimport reimport geventfrom gevent import monkey monkey.patch_all()# 识别等待时间,让协程切换def client_handler(client_s
2023-01-31

NodeJS创建最简单的HTTP服务器

☆ 引子var http = require('http');http.createServer(function(request, response){response.writeHead(200, { 'Content-Type': '
2022-06-04

使用 python 创建最简单的 htt

此文版权属于作者所有,任何人、媒体或者网站转载、借用都必须征得作者本人同意!#!/usr/bin/env python# taken from https://gist.github.com/dergachev/7028596# # gen
2023-01-31

怎么使用node.js搭建简单web服务器

这篇文章主要介绍“怎么使用node.js搭建简单web服务器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用node.js搭建简单web服务器”文章能帮助大家解决问题。准备首先,需要安装nod
2023-06-17

node.js怎么搭建简单web服务器

今天小编给大家分享一下node.js怎么搭建简单web服务器的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。准备首先,需要安装
2022-12-01

最简单的云服务器怎么搭建

搭建最简单的云服务器可以参考以下步骤:1.选择云服务提供商:根据需求选择一家云服务提供商。2.注册账号:在选定的云服务提供商网站上注册账号。3.选择服务器配置:根据需求选择适合的服务器配置,通常有不同的CPU,内存和存储容量可选。4.选择服
2023-09-27

最简单的云服务器怎么搭建

在云端部署LAMP堆栈本教程指导您在云上使用AWS、Azure、GCP或阿里云部署LAMP(Linux、Apache、MySQL、PHP)堆栈。它涵盖了从创建云账号到部署应用程序的每个步骤,包括选择云提供商、创建VPS、安装Web服务器、配置数据库服务器、确保安全性并监控服务器。
最简单的云服务器怎么搭建
2024-04-13

利用node.js搭建简单web服务器的方法教程

前言 使用Nodejs搭建Web服务器是学习Node.js比较全面的入门教程,因为要完成一个简单的Web服务器,你需要学习Nodejs中几个比较重要的模块,比如:http协议模块、文件系统、url解析模块、路径解析模块、以及301重定向问题
2022-06-04

如何使用Node.js构建一个简单Web服务器

Node.js是一个用于后端服务的JavaScript运行环境,它允许开发者使用同一种语言编写服务器端和客户端应用程序。与其他后端技术相比,Node.js具有更高的处理能力和更好的可扩展性。在这篇文章中,我们将介绍如何使用Node.js构建一个简单但强大的Web服务器。第一步 - 安装 Node.js首先,你需要在你的计算机上安装 Node.js。你可以从Node.js官方网站
2023-05-14

python开发web服务器——搭建简易

转自:http://blog.csdn.net/baidu_35085676/article/details/69807145?%3E目标用已有的丰富图片资源建一个看图网站条件开发语言:python3库:flask :一个开源的python
2023-01-31

编程热搜

目录