Python Flask POST接口调用与Perl客户端示例
本文介绍了基于Python Flask框架的POST接口调用方法,并通过Perl脚本演示了如何使用LWP模块发送POST请求。内容涵盖Flask服务端代码实现、GET与POST请求处理逻辑,以及Perl客户端构造HTTP POST请求的具体步骤和参数传递方式,旨在为Web接口开发提供参考。
Flask POST接口调用示例
本文通过具体实例展示如何在Python Flask框架下处理POST接口调用,供相关开发者参考。
from flask import Flask,render_template,request
app = Flask(__name__)
@app.route("/login",methods = ['POST','GET'])
def login():
if request.method == "POST":
username = request.form.get('username')
password = request.form.get('password')
print username
print password
return u'POST'+'+'+username+'+'+password
if request.method == "GET":
print 'call get now'
username = request.args.get('username')
password = request.args.get('password')
print username
print password
return username
if __name__ == '__main__':
app.run(host='0.0.0.0',port=6000,debug=True)
执行GET请求测试: 中国[root@node01 flask]# curl 'http://192.168.137.1:6000/login?username=中国&password=密码' 中国[root@node01 flask]# 192.168.137.2 - - [13/Nov/2017 09:55:35] "GET /login?username=中国&password=密码 HTTP/1.1" 200 - call get now 中国 密码
接下来演示POST接口的调用过程。
Perl客户端发送POST请求
use JSON;
my $ua = LWP::UserAgent->new;
$ua->agent("Mozilla/5.0 (Windows NT 6.1; rv:30.0) Gecko/20100101 Firefox/30.0");
my $cookie_jar = HTTP::Cookies->new(
file=>'lwp_cookies.txt',
autosave=>1,
ignore_discard=>1);
$ua->cookie_jar($cookie_jar);
my $token_url= ' http://192.168.137.1:6000/login';
my $res = $ua->post($token_url,
{
'username'=>'99999@xxxxx.com',
'password'=>'1234567'
});
print $res->content();
print "\n";
Perl客户端执行结果: [root@node01 ~]# [root@node01 ~]# perl flask.pl POST+99999@xxxxx.com+1234567
from flask import Flask,render_template,request
app = Flask(__name__)
@app.route("/login",methods = ['POST','GET'])
def login():
if request.method == "POST":
username = request.form.get('username')
password = request.form.get('password')
print 'call post now'
print username
print password
return u'POST'+'+'+username+'+'+password
if request.method == "GET":
print 'call get now'
username = request.args.get('username')
password = request.args.get('password')
print username
print password
return username
if __name__ == '__main__':
app.run(host='0.0.0.0',port=6000,debug=True)
服务端接收POST请求日志: call post now 99999@xxxxx.com 1234567 192.168.137.2 - - [13/Nov/2017 10:03:56] "POST /login HTTP/1.1" 200 -
希望上述关于Flask框架下Python程序设计的示例能对大家有所帮助。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









