最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python實現(xiàn)簡單http服務器功能

 更新時間:2018年09月17日 10:07:00   作者:ordeder  
這篇文章主要為大家詳細介紹了python實現(xiàn)簡單http服務器功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下

背景

寫一個python腳本,實現(xiàn)簡單的http服務器功能:

1.瀏覽器中輸入網(wǎng)站地址:172.20.52.163:20014

2.server接到瀏覽器的請求后,讀取本地的index.html文件的內容,回發(fā)給瀏覽器

代碼實現(xiàn)

server.py

#!/usr/bin/python
import socket
import signal
import errno
from time import sleep 
 
 
def HttpResponse(header,whtml):
 f = file(whtml)
 contxtlist = f.readlines()
 context = ''.join(contxtlist)
 response = "%s %d\n\n%s\n\n" % (header,len(context),context)
 return response
 
def sigIntHander(signo,frame):
 print 'get signo# ',signo
 global runflag
 runflag = False
 global lisfd
 lisfd.shutdown(socket.SHUT_RD)
 
strHost = "172.20.52.163"
HOST = strHost #socket.inet_pton(socket.AF_INET,strHost)
PORT = 20014
 
httpheader = '''\
HTTP/1.1 200 OK
Context-Type: text/html
Server: Python-slp version 1.0
Context-Length: '''
 
lisfd = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
lisfd.bind((HOST, PORT))
lisfd.listen(2)
 
signal.signal(signal.SIGINT,sigIntHander)
 
runflag = True
while runflag:
 try:
  confd,addr = lisfd.accept()
 except socket.error as e:
  if e.errno == errno.EINTR:
   print 'get a except EINTR'
  else:
   raise
  continue
 
 if runflag == False:
  break;
 
 print "connect by ",addr
 data = confd.recv(1024)
 if not data:
  break
 print data
 confd.send(HttpResponse(httpheader,'index.html'))
 confd.close()
else:
 print 'runflag#',runflag
 
print 'Done'

index.html

<html>
 <head>
 <title>Python Server</title>
 </head>
 <body>
 <h1>Hello python</h1>
 <p>Welcom to the python world</br>
 </body>
</html>

測試

測試結果:

root@cloud2:~/slp/pythonLearning/socket# ./server_v1.py
connect by  ('172.20.52.110', 6096)
GET / HTTP/1.1
Host: 172.20.52.163:20014
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8,en;q=0.6

瀏覽器

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Django實現(xiàn)組合搜索的方法示例

    Django實現(xiàn)組合搜索的方法示例

    本篇文章主要介紹了Django實現(xiàn)組合搜索的方法示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • Python編程實現(xiàn)從字典中提取子集的方法分析

    Python編程實現(xiàn)從字典中提取子集的方法分析

    這篇文章主要介紹了Python編程實現(xiàn)從字典中提取子集的方法,結合實例形式對比分析了Python采用字典推導式與序列轉換實現(xiàn)字典提取子集的相關操作技巧與優(yōu)缺點,需要的朋友可以參考下
    2018-02-02
  • PyCharm 專業(yè)版安裝圖文教程

    PyCharm 專業(yè)版安裝圖文教程

    這篇文章主要介紹了PyCharm 專業(yè)版安裝圖文教程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-02-02
  • Python語言描述最大連續(xù)子序列和

    Python語言描述最大連續(xù)子序列和

    這篇文章主要介紹了Python語言描述最大連續(xù)子序列和,具有一定借鑒價值,需要的朋友可以了解下。
    2017-12-12
  • 一文帶你深度解密Python的字節(jié)碼

    一文帶你深度解密Python的字節(jié)碼

    當我們想要執(zhí)行一個?py?文件的時候,只需要在命令行中輸入?python?xxx.py?即可,但你有沒有想過這背后的流程是怎樣的呢?本文主要賀和大家來聊聊Python中的字節(jié)碼,感興趣的可以了解一下
    2022-12-12
  • Django+Uwsgi+Nginx如何實現(xiàn)生產(chǎn)環(huán)境部署

    Django+Uwsgi+Nginx如何實現(xiàn)生產(chǎn)環(huán)境部署

    這篇文章主要介紹了Django+Uwsgi+Nginx如何實現(xiàn)生產(chǎn)環(huán)境部署,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • 給numpy.array增加維度的超簡單方法

    給numpy.array增加維度的超簡單方法

    這篇文章主要介紹了給numpy.array增加維度的超簡單方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Python GUI庫Tkiner使用方法代碼示例

    Python GUI庫Tkiner使用方法代碼示例

    這篇文章主要介紹了Python GUI庫Tkiner使用方法代碼示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • python?Opencv實現(xiàn)停車位識別思路詳解

    python?Opencv實現(xiàn)停車位識別思路詳解

    這篇文章主要介紹了Opencv實現(xiàn)停車位識別,本文通過示例代碼場景分析給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • 基于python中pygame模塊的Linux下安裝過程(詳解)

    基于python中pygame模塊的Linux下安裝過程(詳解)

    下面小編就為大家?guī)硪黄趐ython中pygame模塊的Linux下安裝過程(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11

最新評論

茂名市| 灵川县| 武陟县| 安陆市| 晴隆县| 鄂托克旗| 吕梁市| 黎平县| 大邑县| 无极县| 瑞金市| 义马市| 平谷区| 壤塘县| 临沧市| 扎兰屯市| 温州市| 平果县| 沭阳县| 平利县| 都昌县| 瑞安市| 启东市| 阿合奇县| 深州市| 农安县| 江西省| 宽城| 鹿泉市| 乐至县| 宜章县| 永新县| 汾西县| 临清市| 嘉定区| 茂名市| 那曲县| 绥棱县| 丰原市| 霍林郭勒市| 张家口市|