Python实现Restful API的例子

yipeiwu_com7年前Python基础

最近写了一个网络验证登录的爬虫,需要发布为Rest服务,然后发现Flask是一个很好的Web框架,使用Python语言实现。

1. 安装flask

pip install flask

2.编写简单的HelloWorld

app.py

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
  return "Hello, World!"

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

3.实现登录验证Rest服务

login.py 是用爬虫写好的登录模块类

from flask import Flask
from flask import request

from login import Context
from login import NormalLogin

app = Flask(__name__)

@app.route('/cm/api/v1.0/verifyuser', methods=['POST'])
def verifyUser():
  error = None
  if request.method == 'POST':
    login = NormalLogin()
    ctx = Context(login)
    page = ctx.login(request.form['studentId'],
        request.form['password'])
    if page == "success":
      return "success, 验证成功"

  return "failed, 验证失败"

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

启动web服务,python app.py

在浏览器输入http://127.0.0.1:5000/即可看到Hello, World!

另外对于POST方法的测试,用浏览器就不太方便了,可以在Linux中安装curl工具来进行测试,或者使用一些专门的GUI程序,比如Postman

curl -d "studentId=123456&password=123456" "http://127.0.0.1:5000/cm/api/v1.0/verifyuser"

以上这篇Python实现Restful API的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python常用随机数与随机字符串方法实例

随机整数: 复制代码 代码如下: >>> import random >>> random.randint(0,99) 21 随机选取0到100间的...

Python 按字典dict的键排序,并取出相应的键值放于list中的实例

方法一: def dict_to_numpy_method1(dict): dict_sorted=sorted(dict.iteritems(), key=lambda d:d[...

python 查找文件夹下所有文件 实现代码

复制代码 代码如下:def find_file_by_pattern(pattern='.*', base=".", circle=True): '''''查找给定文件夹下面所有 '''...

python可视化实现KNN算法

python可视化实现KNN算法

简介 这里通过python的绘图工具Matplotlib包可视化实现机器学习中的KNN算法。 需要提前安装python的Numpy和Matplotlib包。 KNN–最近邻分类...

对django中render()与render_to_response()的区别详解

render()与render_to_response()均是django中用来显示模板页面的,但是在django1.3之后,render()便比render_to_response()...