一、如何用Python开发一个简单的Webservice
利用python的cgi编程,可以传入参数将结果输出。
定义需要编码以及需要引用的模块
#conding=utf-8 #修正中文乱码 import codecs, sys sys.stdout = codecs.getwriter('utf8')(sys.stdout.buffer) # CGI处理模块 import cgi, cgitb from urllib import parse import json import os
定义参数
#获取访问客户端的IP地址,用以日志记录 ip=os.environ['REMOTE_ADDR'] #定义需要提交是数据 form=cgi.FieldStorage() #传入的主要参数 query=form.getvalue('query') #获取访问用户ID,用以日志记录 userid=form.getvalue('userid') #定义一个CallBack函数 callback=form.getvalue('callback')
定义返回的结果
#从URL编码表解码 query=parse.unquote(query) #定义一个返回的字典 dic={"trans_result":query,"userid":userid} #将result的字典转成json result=json.dumps(dic) #CallBack函数,如果输入了callback则返回该函数 if callback is not None: if callback!='': result=callback+"("+result+")"
输出网页
#开始输出网页(不能改) print("""Content-Type:text/html\n""") #输出结果 print(result)
二、如何再IIS中发布Python写的Webservice
由于本人被微软套的比较深,Webservice直接用IS做发布,这也是比较适合小白的做法。
1、首先安装IIS
打开控制面板,将Web管理工具选上,万维网服务全选(不然功能不全无法发布)。
2、进入IIS,打开“处理程序映射”。
3、进去后,我们点击边上的“添加模块映射”来进行添加
4、有选择性地照抄下面的内容(注意“路径”要依据你的实际情况填写,后面的“ %s %s”必写)
5、接下面,我们点击“确定”后,会弹出一个提示框架,这里大家不要慌张,点击“是”就成!
6、最后就可以访问我们写的Webservice了
Pyhon的Webservice支持Get方式以及POST方式访问
Get方式访问可以用浏览器直接打开
http://localhost:【你的端口】/cgi-bin/【你的py名字.py】?query=传入的参数,userid=1