Flask Restful服务简单实现

  官网:http://flask.pocoo.org/docs/1.0/quickstart/#routing

  1、安装

    windows下:pip3 install Flask

  具体参照:windows10下部署IIS10+Django web服务

 

  2、简单代码:

  

from flask import Flask,jsonify,make_response,request,make_response,abort
import weData
import os
# Flask初始化参数尽量使用你的包名,这个初始化方式是官方推荐的,官方解释:http://flask.pocoo.org/docs/0.12/api/#flask.Flask
app = Flask(__name__)

@app.route('/getBiz', methods=['GET','POST'])
def get_tasks():
    logPath = os.path.join(os.getcwd(), "log")
    obj = weData.weData(logPath)
    dict1 ={}
    # postman调用方式
    keyword = request.args.get('keyword')
    if not keyword:
        # 程序调用方式
        keyword = request.json['keyword']
    dict1['biz']=obj.catchBiz(keyword)
    print(dict1)
    return jsonify(dict1)

@app.errorhandler(404)
def not_found(error):
    return make_response(jsonify({'error': 'Not found'}), 404)

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=8000,debug=False)
    

python调用方式

from urllib import request
import requests
import json
#
# import ssl
# ssl._create_default_https_context = ssl._create_unverified_context

class test:
    def __init__(self):
        pass

    def getBiz(self,keyword):
        data_json = {"keyword": keyword}
        headers = {'Content-type': 'application/json'}
        url = 'http://11.21.41.21:8000/getBiz'
        # post调用方式
        response = requests.post(url, json=data_json, headers=headers)
        # get调用方式
        # response = requests.get(url, json=data_json, headers=headers)
        dict1 = json.loads(response.text)
        biz = dict1.get("biz")
        print(keyword, ":", biz)



if __name__=="__main__":

    obj = test()
    obj.getBiz("支付宝")

 

 

from gevent.pywsgi import WSGIServer
from flask import Flask

app = Flask(__name__)
# CORS(app,  resources={r"/*": {"origins": "*"}})
PORT = 8087

@app.route('/index',methods=['GET'])
def index():
    return "Hello World!"

if __name__ == '__main__':
    #windows环境
    http_server = WSGIServer(('0.0.0.0', PORT), app)
    #linux环境
    http_server = WSGIServer(('', PORT), app)
    http_server.serve_forever()

#浏览器测试:http://127.0.0.1:8087/index

 

  和django 不同的是设置环境变量:

  只需要设置两个:

  WSGI_HANDLER:WeixinService.app

  PYTHONPATH:E:\WeixinService

  

    

  flask访问在局域网内访问:https://www.pianshen.com/article/89681254152/

  局域网无法访问原因基本是防火墙的问题:

  基本上这一步失败的原因就是port端口号开放的问题,所以我们要解决它。

   1、打开搜索,找到防火墙,打开高级设置,我们要修改入站规则。

 

  

 

  

 

  

 

  

 

  

 

  

 

  

  如果还不能访问 关闭防护墙

 

  

  阿里云部署flask接口,外网无法访问的问题

 

posted on 2018-12-18 11:35  shaomine  阅读(1434)  评论(0编辑  收藏  举报