You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 07:25:58