Python Flask POST接口调用与Perl客户端示例

江岸
江岸
发布时间:2026-10-14| 6人浏览过
原创

本文介绍了基于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程序设计的示例能对大家有所帮助。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。