本文中的代码部分有乱码情况,请点击此链接点击查看,或者关注微信公众号‘微电脑’查看。
Get 方法实现(代码中已经注释明白)
# coding:utf-8 import json from url.parse import parse_qs from wsgiref.simple_server import make_server dic_t = {"test1":'Hello',##此处定义一个字典 "test2":'Hi'}##用于返回网址中的参数对应值 def application(environ, start_response): start_response('200 OK', [('Content-Type','text/html')]) params = parse_qs(environ['QUERY_STRING']) name = params['name'][0]## 得到网址中的参数 try: dic = {name: dic_t[name]}##字典查值并返回为字典 except: KeyError:dic = {name:"KeyError"}##如果字典中没有,则返回‘KeyError’ return[json.dumps(dic)]## 网页返回值 if__name__ =="__main__": port =5088##自定义开启的端口 httpd = make_server("0.0.0.0", port, application) print"serving http on port {0}...".format(str(port)) httpd.serve_forever()
程序运行后,网址中输入 http://127.0.0.1:5088/?name=test2进行访问,得到对应数据。
Linux中一些常用操作实例
实例1:服务器后台运行任务,获取任务运行状态并且作为api的返回参数
服务器端代码实现
# coding:utf8 import json from url.parse import parse_qs from wsgiref.simple_server import make_server import os def application(environ, start_response): start_response('200 OK', [('Content-Type','text/html')]) params = parse_qs(environ['QUERY_STRING']) job = os.popen("ps -a | grep ps | wc -l").readlines() job = job[0] return job if__name__ =="__main__": port =5088 httpd = make_server("0.0.0.0", port, application) print"serving http on port {0}...".format(str(port)) httpd.serve_forever()
代码中的‘ps -a | grep ps | wc -l’即列出用户的所有任务,筛选任务中带有‘ps’字符的任务,返回任务的个数,可以将‘ps’改成你的任务名称。
用户端代码实现
```python
import os
import time
def get_job():
url ='http://服务器IP地址:5088'
job = os.popen("curl {0}".format(url)).readlines()
job = job[0]
return job
whileTrue:
try:
job = get_job()
except:
job =404
f = open("job_num.txt","w")
f.write(job)
f.close()
time.sleep(60)
```
如果能够得到api的返回值,则job值为真实值,如果获取失败,则job值为404.
网友评论