Python服务端解析GET请求参数的实现方法
解析GET请求参数的实现方法
根据你部署脚本时使用的Web框架,有以下几种常见实现方式:
1. 使用Flask框架
如果你的脚本基于Flask搭建API服务,直接通过request.args获取GET参数:
from flask import Flask, request app = Flask(__name__) @app.route('/api/id/run', methods=['GET']) def run_script(): # 安全获取参数,可设置默认值避免参数缺失报错 param1 = request.args.get('param1', default=None, type=str) param2 = request.args.get('param2', default=None, type=str) # 这里编写你的脚本业务逻辑 print(f"获取到参数:param1={param1}, param2={param2}") return "脚本执行完成" if __name__ == '__main__': app.run(host='0.0.0.0', port=5000)
request.args.get()支持指定参数类型(如int)和默认值,适配参数未传入的场景。
2. 使用Django框架
如果是Django项目,在视图函数中通过request.GET解析参数:
from django.http import HttpResponse def run_script(request): if request.method == 'GET': param1 = request.GET.get('param1') param2 = request.GET.get('param2') # 执行脚本逻辑 print(f"获取到参数:param1={param1}, param2={param2}") return HttpResponse("脚本执行完成")
需先在项目的urls.py中配置对应路由:
from django.urls import path from . import views urlpatterns = [ path('api/id/run', views.run_script, name='run_script'), ]
3. 原生WSGI实现(无框架)
若不想依赖Web框架,用原生WSGI处理请求:
from wsgiref.simple_server import make_server import urllib.parse def app(environ, start_response): # 解析URL中的查询字符串 query_string = environ.get('QUERY_STRING', '') params = urllib.parse.parse_qs(query_string) # parse_qs返回值为列表,取第一个元素作为参数值 param1 = params.get('param1', [None])[0] param2 = params.get('param2', [None])[0] # 执行脚本逻辑 print(f"获取到参数:param1={param1}, param2={param2}") start_response('200 OK', [('Content-Type', 'text/plain')]) return [b'Script executed'] if __name__ == '__main__': server = make_server('0.0.0.0', 8000, app) server.serve_forever()
内容的提问来源于stack exchange,提问作者Devendra Yadav
相关产品推荐
相关产品推荐

