【Python】 做一个简单的 http server

# coding=utf-8
'''
Created on 2014年6月15日

@author: Yang
'''

import socket
import datetime
# 初始化socket
s = socket.socket()
# 获取主机名, 也能够使用localhost
# host = socket.gethostname()
host = "localhost"
# 默认的http协议端口号
port = 80

# 绑定serversocket的ip和端口号
s.bind((host, port))

# server名字/版本
server_name = "MyServerDemo/0.1"

# 缓存时间, 缓存一天
expires = datetime.timedelta(days=1)
# GMT时间格式
GMT_FORMAT = '%a, %d %b %Y %H:%M:%S GMT'
# 对应网页的内容
content = '''
<html>
<head><title>MyServerDemo/0.1</title></head>
<body>
<h1>coming soon</h1>
</body>
</html>
'''

# 可同一时候连接五个client
s.listen(5)

# server循环
while True:
    # 等待client连接
    c, addr = s.accept()
    print 'Got connection ', addr, '\n'

    # 显示请求信息
    print '--Request Header:'
    # 接收浏览器的请求, 不作处理
    data = c.recv(1024)
    print data

    # 获得请求的时间
    now = datetime.datetime.utcnow()

    # 对应头文件和内容
    response = '''HTTP/1.1 200 OK
Server: %s
Date: %s
Expires: %s
Content-Type: text/html;charset=utf8
Content-Length: %s
Connection: keep-alive

%s''' % (
server_name,
now.strftime(GMT_FORMAT),
(now + expires).strftime(GMT_FORMAT),
len(content),
content
)

    # 发送回应
    c.send(response)
    print '--Response:\r\n', response
    c.close()

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcG9tbWVfcWl4aWFvaHU=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" >

时间: 2024-08-12 17:49:14

【Python】 做一个简单的 http server的相关文章

用python做一个简单的pong游戏

pong游戏就是一个用挡板去控制一个小球不触底的一个小游戏,上个世纪以电视游戏的方式发行,取得巨大的成功. 看了一点书,知道pygame是python里一个强大的模块,做出这个游戏的简易模式也不难. 主要思想:1.创建游戏界面,挡板,小球以及记分牌. 2.小球碰到游戏界面四个边界会反弹,即x方向和y方向上的速度会改变为负,碰到底边生命数会减1. 3.小球与挡板碰撞y方向速度会变负,同时分数加1. 4.游戏结束会显示相关文字. 代码如下: import pygame pygame.init() s

[python]做一个简单爬虫

为什么选择python,它强大的库可以让你专注在爬虫这一件事上而不是更底层的更繁杂的事 爬虫说简单很简单,说麻烦也很麻烦,完全取决于你的需求是什么以及你爬的网站所决定的,遇到的第一个简单的例子是paste.ubuntu.com 这是一个贴代码的网站,没事喜欢看看有没有什么好玩的东西,只是上面大部分都是minecraft的东西,于是写了以下代码 1 import urllib2 2 import socket 3 import re 4 def getData(url, timeOut = 10)

Python做一个简单的web服务器,外接一个支持wsgi协议框架显示动态数据

import socket import re import sys import mini_frame # 通过外部传端口号给套接字 # tcp_port = sys.argv[1] class Mini_Wsgi(object): def __init__(self): self.tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.tcp_socket.setsockopt(socket.SOL_SOCKET

使用Python创建一个简易的Web Server

Python 2.x中自带了SimpleHTTPServer模块,到Python3.x中,该模块被合并到了http.server模块中.使用该模块,可以快速创建一个简易的Web服务器. 我们在C:\Users\%USERNAME%\用户目录下,创建一个html目录,将html/jpg等网页文件拷贝到该目录下,启动一个cmd命令行窗口,进入html目录,执行如下命令即可创建一个简易的Web Server: python -m http.server 8888 图01-使用python创建一个简单的

【Python】 做一个简单的 http 服务器

# coding=utf-8 ''' Created on 2014年6月15日 @author: Yang ''' import socket import datetime # 初始化socket s = socket.socket() # 获取主机名, 也可以使用localhost # host = socket.gethostname() host = "localhost" # 默认的http协议端口号 port = 80 # 绑定服务器socket的ip和端口号 s.bin

使用Multiplayer Networking做一个简单的多人游戏例子-2/3(Unity3D开发之二十六)

猴子原创,欢迎转载.转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/51007512 使用Multiplayer Networking做一个简单的多人游戏例子-1/3 使用Multiplayer Networking做一个简单的多人游戏例子-2/3 使用Multiplayer Networking做一个简单的多人游戏例子-3/3 7. 在网络中控制Player移动 上一篇中,玩家操

python中一个简单的webserver

python中一个简单的webserver 2013-02-24 15:37:49 分类: Python/Ruby 支持多线程的webserver 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #!/usr/bin/python from SocketServer import ThreadingMixIn from BaseHTTPServer import HTTPServer,BaseHTTPRequestHandler cla

【Python】一个简单的例子

问题描述: Python基础篇 参考资料: (1)http://www.cnblogs.com/octobershiner/archive/2012/12/04/2801670.html (2)http://www.cnblogs.com/itech/archive/2010/06/20/1760345.html 例子: 求解Fibonacci glb_var.py gl_count=1 path.py # coding:utf-8 ''' Created on 2014-4-28 @autho

用EF DataBase First做一个简单的MVC3报名页面

使用EF DataBase First做一个简单的MVC3报名网站 ORM(Object Relational Mapping)是面向对象语言中的一种数据访问技术,在ASP.NET中,可以通过ADO.NET Entity Framework技术来简化数据访问.在EF里,有Code First,Model First和DataBase First三种方法来实现. 百度百科关于ORM的介绍: http://baike.baidu.com/view/197951.htm?fr=aladdin 1.就像