Python向PHP发起GET与POST请求

WBOY
發布: 2016-06-23 13:47:54
原創
1332 人瀏覽過


     CloudBean项目中到PHP开发WEB管理端,用Python开发服务控制端,在项目中Python的服务控制端有时候需要主动连接PHP的WEB管理端下载或上传配置参数或数据信息,这里采用的原理是Python模拟Http客户端,向PHP所在的Apache发起Get或Post请求。

     这里将实现的技术代码进行公开。


 一、Python以GET请求的方式,请求PHP页面,并获得返回值

1、python代码:      

<span xmlns="http://www.w3.org/1999/xhtml" >[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"</span>
登入後複製

2、php代码:     
<span xmlns="http://www.w3.org/1999/xhtml" >[root@AY python]#cat /CloudBean/capture.php <?php echo $_GET["name"];  echo $_GET["pass"];  echo "GET:";?></span>
登入後複製

二、Python以 Post请求的方式,请求PHP页面,并获得返回值

1、Python代码:

<span xmlns="http://www.w3.org/1999/xhtml" >[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"</span>
登入後複製
2、PHP代码:

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



來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板