美文网首页Linux的小折腾
使用Python编写API接口和使用API接口

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

作者: 请叫我雯子小姐的小爷 | 来源:发表于2019-04-24 15:13 被阅读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.

    相关文章

      网友评论

        本文标题:使用Python编写API接口和使用API接口

        本文链接:https://www.haomeiwen.com/subject/wteggqtx.html