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的返回参数
服务器端代码实现
# 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.