使用flask把服务器端以web API形式发布

安装flask(Mac OS X)

  1. python3.6下使用pyvenv命令创建虚拟环境

    1
    pyvenv venv

    这个命令只有一个必需的参数,即虚拟环境的名字。创建虚拟环境后,当前文件夹中会出现一个子文件夹,名字就是上述命令中指定的参数,与虚拟环境相关的文件都保存在这个子文件夹中。

  2. 激活虚拟环境

    1
    source venv/bin/activate
  3. 使用pip安装Python包

    1
    pip install flask

实现

server.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# -*- coding: utf-8 -*-

from flask import Flask
import json

msg = {'id':'1527406014','height':178,'weight':57,'size':'XL'}

app = Flask(__name__)

@app.route('/')
def index():
return json.dumps(msg)

if __name__ == '__main__':
app.run(debug=True)

client.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# -*- coding: utf-8 -*-

import urllib.request
import socket

def write_to_file(msg):
file_handler = open('data.txt','a',encoding='utf-8')
file_handler.write(msg+'\n')

def connect_to_server(ip):
response = urllib.request.urlopen(ip)
msg = response.read()
msg = msg.decode()
write_to_file(msg)

if __name__ == '__main__':
ip = 'http://127.0.0.1:5000'
socket.setdefaulttimeout(4)
connect_to_server(ip)

flask默认是在5000端口运行。