Python向PHP發起GET與POST請求

jopen 10年前發布 | 39K 次閱讀 Python Python開發

     CloudBean項目中到PHP開發WEB管理端,用Python開發服務控制端,在項目中Python的服務控制端有時候需要主動連接PHP的WEB管理端下載或上傳配置參數或數據信息,這里采用的原理是Python模擬Http客戶端,向PHP所在的Apache發起Get或Post請求。

     這里將實現的技術代碼進行公開。

 

 一、Python以GET請求的方式,請求PHP頁面,并獲得返回值

1、python代碼:      

<span xmlns="

!/usr/bin/env python

coding=utf8

import httplib

httpclient=None print '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" </span></pre>
2、php代碼:     

<span xmlns="http://www.w3.org/1999/xhtml" style="">[root@AY python]#cat /CloudBean/capture.php 
<?php 
  echo $_GET["name"];
  echo $_GET["pass"];
  echo "GET:";
?>
</span>

二、Python以Post請求的方式,請求PHP頁面,并獲得返回值

1、Python代碼:

<span xmlns="

!/usr/bin/env python

coding=utf8

import httplib,urllib

httpclient=None try: 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" </span></pre>2、PHP代碼:

<span xmlns="http://www.w3.org/1999/xhtml" style="">[root@AY python]#cat /CloudBean/cappost.php 
<?php 
  echo $_POST["name"];
  echo $_POST["pass"];
  echo "post";
?>
</span>



 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!