Linux的小折腾

使用Python编写API接口和使用API接口

2019-04-24  本文已影响3人  请叫我雯子小姐的小爷

本文中的代码部分有乱码情况,请点击此链接点击查看,或者关注微信公众号‘微电脑’查看。

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.

上一篇下一篇

猜你喜欢

热点阅读