欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python服務(wù)器端收發(fā)請求的實(shí)現(xiàn)代碼

 更新時(shí)間:2014年09月29日 00:30:21   投稿:mdxy-dxy  
這篇文章主要介紹了python服務(wù)器端收發(fā)請求的實(shí)現(xiàn)代碼,需要的朋友可以參考下

最近學(xué)習(xí)了python的一些服務(wù)器端編程,記錄在此。

發(fā)送get/post請求

# coding:utf-8
import httplib,urllib #加載模塊
#urllib可以打開網(wǎng)站去拿
#res = urllib.urlopen('http://baidu.com');
#print res.headers
#定義需要進(jìn)行發(fā)送的數(shù)據(jù)   
params = urllib.urlencode({'param':'6'});
#定義一些文件頭   
headers = {"Content-Type":"application/x-www-form-urlencoded",
      "Connection":"Keep-Alive",'Content-length':'200'};
#與網(wǎng)站構(gòu)建一個(gè)連接
conn = httplib.HTTPConnection("localhost:8765");
#開始進(jìn)行數(shù)據(jù)提交  同時(shí)也可以使用get進(jìn)行
conn.request(method="POST",url="/",body=params,headers=headers);
#返回處理后的數(shù)據(jù)
response = conn.getresponse();
print response.read()
#判斷是否提交成功
if response.status == 200:
  print "發(fā)布成功!^_^!";
else:
  print "發(fā)布失敗\^0^/";
#關(guān)閉連接
conn.close();

利用urllib模塊可以方便的實(shí)現(xiàn)發(fā)送http請求.urllib的參考手冊

http://docs.python.org/2/library/urllib.html

建立http服務(wù)器,處理get,post請求

# coding:utf-8
from BaseHTTPServer import HTTPServer,BaseHTTPRequestHandler
class RequestHandler(BaseHTTPRequestHandler):
  def _writeheaders(self):
    print self.path
    print self.headers
    self.send_response(200);
    self.send_header('Content-type','text/html');
    self.end_headers()
  def do_Head(self):
    self._writeheaders()
  def do_GET(self):
    self._writeheaders()
    self.wfile.write("""<!DOCTYPE HTML>
<html lang="en-US">
<head>
	<meta charset="UTF-8">
	<title></title>
</head>
<body>
<p>this is get!</p>
</body>
</html>"""+str(self.headers))
  def do_POST(self):
    self._writeheaders()
    length = self.headers.getheader('content-length');
    nbytes = int(length)
    data = self.rfile.read(nbytes)
    self.wfile.write("""<!DOCTYPE HTML>
<html lang="en-US">
<head>
	<meta charset="UTF-8">
	<title></title>
</head>
<body>
<p>this is put!</p>
</body>
</html>"""+str(self.headers)+str(self.command)+str(self.headers.dict)+data)
addr = ('',8765)
server = HTTPServer(addr,RequestHandler)
server.serve_forever()

注意這里,python把response的消息體記錄在了rfile中。BaseHpptServer沒有實(shí)現(xiàn)do_POST方法,需要自己重寫。之后我們新建類RequestHandler,繼承自 baseHTTPServer 重寫do_POST方法,讀出rfile的內(nèi)容即可。
但是要注意,發(fā)送端必須指定content-length.若不指定,程序就會(huì)卡在rfile.read()上,不知道讀取多少。

參考手冊 http://docs.python.org/2/library/basehttpserver.html

相關(guān)文章

  • python元組打包和解包過程詳解

    python元組打包和解包過程詳解

    在本篇文章里,我們給大家整理了關(guān)于python元組打包和解包過程的知識點(diǎn)內(nèi)容,有興趣點(diǎn)的朋友們可以跟著學(xué)習(xí)下。
    2021-08-08
  • Python多進(jìn)程fork()函數(shù)詳解

    Python多進(jìn)程fork()函數(shù)詳解

    今天小編就為大家分享一篇關(guān)于Python多進(jìn)程fork()函數(shù)詳解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Python中實(shí)現(xiàn)堆排序算法

    Python中實(shí)現(xiàn)堆排序算法

    堆排序是一種強(qiáng)大的算法,用于在 Python 中對數(shù)組和列表進(jìn)行排序, 它很受歡迎,因?yàn)樗浅??并且不像合并排序和快速排序那樣占用任何額外空間,本篇文章將介紹堆排序算法在 Python 中的實(shí)現(xiàn),感興趣的朋友跟隨小編一起看看吧
    2023-08-08
  • Python Numpy數(shù)組擴(kuò)展repeat和tile使用實(shí)例解析

    Python Numpy數(shù)組擴(kuò)展repeat和tile使用實(shí)例解析

    這篇文章主要介紹了Python Numpy數(shù)組擴(kuò)展repeat和tile使用實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Python下使用Scrapy爬取網(wǎng)頁內(nèi)容的實(shí)例

    Python下使用Scrapy爬取網(wǎng)頁內(nèi)容的實(shí)例

    今天小編就為大家分享一篇Python下使用Scrapy爬取網(wǎng)頁內(nèi)容的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • python中時(shí)間轉(zhuǎn)換datetime和pd.to_datetime詳析

    python中時(shí)間轉(zhuǎn)換datetime和pd.to_datetime詳析

    這篇文章主要給大家介紹了關(guān)于python中時(shí)間轉(zhuǎn)換datetime和pd.to_datetime的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Django ModelSerializer實(shí)現(xiàn)自定義驗(yàn)證的使用示例

    Django ModelSerializer實(shí)現(xiàn)自定義驗(yàn)證的使用示例

    本文主要介紹了Django ModelSerializer實(shí)現(xiàn)自定義驗(yàn)證的使用示例,多種字段驗(yàn)證器幫助開發(fā)者確保數(shù)據(jù)的完整性和準(zhǔn)確性,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-11-11
  • Python描述器descriptor詳解

    Python描述器descriptor詳解

    這篇文章主要向我們詳細(xì)介紹了Python描述器descriptor,需要的朋友可以參考下
    2015-02-02
  • 用python寫掃雷游戲?qū)嵗a分享

    用python寫掃雷游戲?qū)嵗a分享

    我們給大家分享了一篇關(guān)于用python寫一個(gè)掃雷經(jīng)典游戲的實(shí)例代碼,大家可以測試運(yùn)行下。
    2018-05-05
  • Python+xlwings制作天氣預(yù)報(bào)表

    Python+xlwings制作天氣預(yù)報(bào)表

    python操作Excel的模塊,網(wǎng)上提到的模塊大致有:xlwings、xlrd、xlwt、openpyxl、pyxll等。本文將利用xlwings模塊制作一個(gè)天氣預(yù)報(bào)表,需要的可以參考一下
    2022-01-01

最新評論