python web 的 get 和 post 请求
python 实现 web接口,接收前端的 get 和 post 请求。
有 import web的写法,和 from flask import Flask, request 的写法
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
# =============================================================================
# @Time : 2019/10/11/0011 14:52
# @Author : WanDaoYi
# @FileName : hello_web.py
# ==============================================================================
import web
import json
class HelloWeb(object):
def __init__(self):
self.bill_model = "通用OCR"
self.textAngle = "90"
self.render = web.template.render('templates', base='base')
pass
def GET(self):
data = web.input()
data_len = len(data)
if data_len == 0:
print("no info")
return {"oh": "you are wrong"}
print("data_len: {}, data: {}".format(data_len, data))
bill_model = data.get("billModel", "")
width = data.get("width", 0)
height = data.get("height", 0)
print("bill_model: {}, width: {}, height: {}".format(bill_model, width, height))
return {"ok": "nice"}
pass
def POST(self):
data = web.data()
data_json = json.loads(data)
bill_model = data_json.get("billModel", "")
text_angle = data_json.get("textAngle", False)
print("bill_model: {}, text_angle: {}".format(bill_model, text_angle))
return {"code": "0000", "message": "", "ocrInfo": ["hello world", "ni hao"]}
pass
if __name__ == "__main__":
# urls = (端口号后面的URL内容, 本文件的类名)
# 通过 http://localhost:8080/do_test/ 可以请求
urls = ('/do_test/', 'HelloWeb',)
app = web.application(urls, globals())
app.run()
pass
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
# =============================================================================
# @Time : 2019/10/10/0010 23:49
# @Author : WanDaoYi
# @FileName : hello_flask.py
# ==============================================================================
from flask import Flask, request
app = Flask(__name__)
@app.route("/ocr_web/")
def hello_world():
return "hello world!"
@app.route("/list/")
def my_list():
return "my list"
@app.route("/dic/")
def my_dic():
return {"user": "xiaochou"}
@app.route("/get_text/")
def get_text():
user = request.args.get("user", "")
password = request.args.get("password", "")
print("user: {}, password: {}".format(user, password))
return {"code": "get_text is ok"}
# methods 默认为 GET 请求: methods=["GET"]
@app.route("/post_text/", methods=['POST'])
def post_text():
print("hello_post")
input_param = request.get_json("")
user = input_param.get("user", "")
password = input_param.get("password", "")
print("user: {}, password: {}".format(user, password))
res_info = {"code": "0000", "message": "", "ocrInfo": ["hello world", "ni hao"]}
return res_info
# return {"code": "post_text is ok"}
if __name__ == "__main__":
# 默认为 port 为 5000, 可以设置为8080
# 如果要debug,则可以设置 debug=True
app.run(port=8080)
发起 get 请求
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
# =============================================================================
# @Time : 2019/10/10/0010 15:38
# @Author : WanDaoYi
# @FileName : music_craw.py
# ==============================================================================
import requests
# 文件保存路径
file_path = "./test_file/"
music_name = "刘欢-重头再来"
music_url = "music_url_info"
def get_music(name, url):
"""
:param name: 歌名
:param url: 网页中打开一首音乐,打开开发者模式,点击播放,在下面出现的url中,找到类型为meidia的连接
url就是这个url参数。
:return: 歌曲
"""
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36'
}
resp = requests.get(url, headers=headers)
with open(file_path + '{}.mp3'.format(name), 'wb') as f:
f.write(resp.content)
if __name__ == '__main__':
get_music(music_name, music_url)
print("Download is over!")
扫描二维码关注公众号,回复:
9044229 查看本文章