一、如何用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管理工具选上,万维网服务全选(不然功能不全无法发布)。

Python学习笔记-CGI编程(如何在IIS上挂Python开发的Webservice)-LMLPHP

2、进入IIS,打开“处理程序映射”。

Python学习笔记-CGI编程(如何在IIS上挂Python开发的Webservice)-LMLPHP

3、进去后,我们点击边上的“添加模块映射”来进行添加

Python学习笔记-CGI编程(如何在IIS上挂Python开发的Webservice)-LMLPHP

4、有选择性地照抄下面的内容(注意“路径”要依据你的实际情况填写,后面的“ %s %s”必写)

Python学习笔记-CGI编程(如何在IIS上挂Python开发的Webservice)-LMLPHP

5、接下面,我们点击“确定”后,会弹出一个提示框架,这里大家不要慌张,点击“是”就成!

Python学习笔记-CGI编程(如何在IIS上挂Python开发的Webservice)-LMLPHP

6、最后就可以访问我们写的Webservice了

Pyhon的Webservice支持Get方式以及POST方式访问

Get方式访问可以用浏览器直接打开

http://localhost:【你的端口】/cgi-bin/【你的py名字.py】?query=传入的参数,userid=1

Python学习笔记-CGI编程(如何在IIS上挂Python开发的Webservice)-LMLPHP

04-03 08:48