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

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

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

最近學習了python的一些服務器端編程,記錄在此。

發(fā)送get/post請求

# coding:utf-8
import httplib,urllib #加載模塊
#urllib可以打開網(wǎng)站去拿
#res = urllib.urlopen('http://baidu.com');
#print res.headers
#定義需要進行發(fā)送的數(shù)據(jù)   
params = urllib.urlencode({'param':'6'});
#定義一些文件頭   
headers = {"Content-Type":"application/x-www-form-urlencoded",
      "Connection":"Keep-Alive",'Content-length':'200'};
#與網(wǎng)站構建一個連接
conn = httplib.HTTPConnection("localhost:8765");
#開始進行數(shù)據(jù)提交  同時也可以使用get進行
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^/";
#關閉連接
conn.close();

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

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

建立http服務器,處理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沒有實現(xiàn)do_POST方法,需要自己重寫。之后我們新建類RequestHandler,繼承自 baseHTTPServer 重寫do_POST方法,讀出rfile的內容即可。
但是要注意,發(fā)送端必須指定content-length.若不指定,程序就會卡在rfile.read()上,不知道讀取多少。

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

相關文章

  • python使用for循環(huán)計算0-100的整數(shù)的和方法

    python使用for循環(huán)計算0-100的整數(shù)的和方法

    今天小編就為大家分享一篇python使用for循環(huán)計算0-100的整數(shù)的和方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • Pytest?Fixture參數(shù)講解及使用

    Pytest?Fixture參數(shù)講解及使用

    這篇文章主要介紹了Pytest之Fixture參數(shù)詳解及使用,本文結合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-01-01
  • 解決pycharm無法識別本地site-packages的問題

    解決pycharm無法識別本地site-packages的問題

    今天小編就為大家分享一篇解決pycharm無法識別本地site-packages的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • 詳解Python+OpenCV實現(xiàn)圖像二值化

    詳解Python+OpenCV實現(xiàn)圖像二值化

    圖像二值化就是將圖像上的像素點的灰度值設置為0或255,也就是將整個圖像呈現(xiàn)出明顯的黑白效果的過程。本文將通過Python+OpenCV實現(xiàn)這一過程,感興趣的可以學習一下
    2022-05-05
  • 關于pip的安裝,更新,卸載模塊以及使用方法(詳解)

    關于pip的安裝,更新,卸載模塊以及使用方法(詳解)

    下面小編就為大家?guī)硪黄P于pip的安裝,更新,卸載模塊以及使用方法(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • 淺談優(yōu)化Django ORM中的性能問題

    淺談優(yōu)化Django ORM中的性能問題

    這篇文章主要介紹了淺談優(yōu)化Django ORM中的性能問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Python設計模式之MVC模式簡單示例

    Python設計模式之MVC模式簡單示例

    這篇文章主要介紹了Python設計模式之MVC模式,簡單介紹了MVC模式的概念、原理,并結合實例形式給出了Python實現(xiàn)與使用MVC模式的相關操作技巧,需要的朋友可以參考下
    2018-01-01
  • Python multiprocessing模塊中的Pipe管道使用實例

    Python multiprocessing模塊中的Pipe管道使用實例

    這篇文章主要介紹了Python multiprocessing模塊中的Pipe管道使用實例,本文直接給出使用實例,需要的朋友可以參考下
    2015-04-04
  • python excel使用xlutils類庫實現(xiàn)追加寫功能的方法

    python excel使用xlutils類庫實現(xiàn)追加寫功能的方法

    今天小編就為大家?guī)硪黄猵ython excel使用xlutils類庫實現(xiàn)追加寫功能的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python數(shù)據(jù)分析?Numpy?的使用方法

    Python數(shù)據(jù)分析?Numpy?的使用方法

    這篇文章主要介紹了Python數(shù)據(jù)分析?Numpy?的使用方法,Numpy?是一個Python擴展庫,專門做科學計算,也是大部分Python科學計算庫的基礎,關于其的使用方法,需要的小伙伴可以參考下面文章內容
    2022-05-05

最新評論

额敏县| 荥阳市| 申扎县| 襄城县| 巴彦县| 五莲县| 泌阳县| 永康市| 夏河县| 江安县| 河北区| 民乐县| 枣庄市| 宁强县| 滦南县| 丹寨县| 霍州市| 霸州市| 商水县| 喀喇| 福鼎市| 泊头市| 和静县| 独山县| 昔阳县| 运城市| 天水市| 衡阳市| 根河市| 榆中县| 安西县| 昌都县| 星子县| 香格里拉县| 千阳县| 锦屏县| 都兰县| 蕉岭县| 彭阳县| 兴义市| 富平县|