CloudBean項目中到PHP開發WEB管理端,用Python開發服務控制端,在項目中Python的服務控制端有時候需要主動串連PHP的WEB管理端下載或上傳配置參數或資料資訊,這裡採用的原理是Python類比Http用戶端,向PHP所在的Apache發起Get或Post請求。
這裡將實現的技術代碼進行公開。
一、Python以GET請求的方式,請求PHP頁面,並獲得傳回值
1、python代碼:
[root@AY python]#cat httpclientget.py #!/usr/bin/env python#coding=utf8import httplibhttpclient=Noneprint 'bb'try: httpclient=httplib.HTTPConnection('www.xxx.org',80) httpclient.request('GET','/CloudBean/capture.php?name=liu&pass=wew') res=httpclient.getresponse() print res.status print res.reason print res.read()except Exception,e: print "heelowr"
2、php代碼:
[root@AY python]#cat /CloudBean/capture.php
二、Python以 Post請求的方式,請求PHP頁面,並獲得傳回值
1、Python代碼:
[root@AY python]#cat httpclientpost.py #!/usr/bin/env python#coding=utf8import httplib,urllibhttpclient=Nonetry: params = urllib.urlencode({'name': 'tom', 'pass': 22}) print 'aaa' headers = {"X-CPU": "arm/x86" , "X-USER": "234299044218541","X-RESOLUTION": "240x320","X-SYSTEM":"2.3","X-LANG":"en-us","X-SIGN":"a1ae6bee406a6b8aa0862969ba49cc1d", "X-IMSI":"3110012345678912","X-COUNTRY":"in","X-TIME":"1335339139"} httpclient=httplib.HTTPConnection('www.xxx.org',80) httpclient.request('POST','/CloudBean/cappost.php',params,headers) res=httpclient.getresponse() print res.status print res.reason print res.read() print res.getheaders()except Exception,e: print "error"2、PHP代碼:
[root@AY python]#cat /CloudBean/cappost.php