使用Python编写API接口和使用API接口!哪个更吊?

Get 方法实现(代码中已经注释明白)

  •  
# coding:utf-8import jsonfrom urlparse import parse_qsfrom 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进行访问,得到对应数据。

可以添加QQ群1004391443,有飞机大战、颜值打分器、打砖块小游戏、红包提醒神器、小姐姐表白神器等具体的实训项目,有清晰源码,有相应的文件

Linux中一些常用操作实例

实例1:服务器后台运行任务,获取任务运行状态并且作为api的返回参数

服务器端代码实现

扫描二维码关注公众号,回复: 6016915 查看本文章
  •  
# coding:utf-8import jsonfrom urlparse import parse_qsfrom wsgiref.simple_server import make_serverimport os
def application(environ, start_response):    start_response('200 OK', [('Content-Type', 'text/html')])    params = parse_qs(environ['QUERY_STRING'])    name = params.get('name', [''])[0]    no = params.get('no', [''])[0]    dic = {'name': name, 'no': no}    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’改成你的任务名称。

用户端代码实现

  •  
import osimport timedef get_job():    url = 'http://服务器IP地址:5088'    job = os.popen("curl {0}".format(url)).readlines()    job = job[0]    return jobwhile True:    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.

猜你喜欢

转载自blog.csdn.net/qq_42156420/article/details/89496275