centos7服务器配置接口供外网调用
接口代码如下
from flask import Flask, request import json app = Flask(__name__) # postman : 127.0.0.1:5000/test_1.0 """ @app.route(), 是调用了flask.app.py文件里面的Flask类的route方法, route方法所做的事情和add_url_rule类似,是用来为一个URL注册一个视图函数, route方法是以装饰器的方式使用的 """ """ 被@app.route装饰的目标函数,运行时先执行route函数,再执行目标函数 """ # 只接受get方法访问 @app.route("/test_1.0", methods=["GET"]) def check(): # 默认返回内容 return_dict = {'return_code': '200', 'return_info': '处理成功', 'result': False} # 判断入参是否为空 if request.args != {}: # 获取传入的参数 get_data = request.args.to_dict() name = get_data.get('name') age = get_data.get('age') print("name:" + str(name) + ' ' + "age:" + str(age)) # 名字和年龄都不为空 if name and age: return_dict['result'] = tt(name, age) print("接口调用成功:" + json.dumps(return_dict, ensure_ascii=False)) # 名字为空 elif name == '' and age: return_dict['return_code'] = '300' return_dict['return_info'] = 'name为空' print("接口调用失败:" + json.dumps(return_dict, ensure_ascii=False)) # 年龄为空 # elif name != '' and age == '': else: return_dict['return_code'] = '400' return_dict['return_info'] = 'age为空' print("接口调用失败:" + json.dumps(return_dict, ensure_ascii=False)) return json.dumps(return_dict, ensure_ascii=False) else: return_dict['return_code'] = '5004' return_dict['return_info'] = '请求参数为空' print("接口调用失败:" + json.dumps(return_dict, ensure_ascii=False)) return json.dumps(return_dict, ensure_ascii=False) # 功能函数 def tt(name, age): result_str = "%s今年%s岁" % (name, age) return result_str if __name__ == "__main__": # 用Flask写好一个app后, 运行app.run()表示监听指定的端口, 对收到的request运行app生成response并返回x app.run(debug=True, host='0.0.0.0', port=80) # 若不添加port=80,则默认端口为5000
在阿里云控制台开放80端口(点击“克隆”即可编辑)
在浏览器中输入http://ip/test_1.0?name=ggg&age=18,回车即可
在服务器控制台可看到如下打印内容
完。