【问题标题】:Get Parameter passed from query string in python获取从python中的查询字符串传递的参数
【发布时间】:2022-01-03 05:30:16
【问题描述】:

我通过传递查询字符串参数来调用这个 url,我必须将 name 参数传递给 details.py

网址是:

http://www.somesite.com/details.py?name=test

我尝试使用request,但无法获取此参数。

代码:

import requests
resp = requests.get('name')

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    requests 用于执行 http 调用

    要从该字符串中“获取”值,您需要 urllib.parse 模块来解析 URIs

    在服务器端获取查询参数取决于您使用的 Web 框架

    【讨论】:

    • 谢谢我没有使用任何框架,我使用的是 python 3.6,我将如何获取当前 url 并将其传递给 urlparse 例如。 parsed_url = urlparse(url)
    • 我不知道你的代码在什么上下文中运行。你在实现一个服务器吗?或者你只是一个客户?或者您正在对一组 url 进行数据分析?你是什​​么意思“获取网址”?就您所展示的而言,您已经将其作为字符串。
    【解决方案2】:

    使用urllib解析url;

    from urllib.parse import urlparse
    from urllib.parse import parse_qs
    
    url = 'http://www.somesite.com/details.py?name=test'
    
    # parse the url 
    parsed_url = urlparse(url)
    
    # parse the request's parameters
    parsed_params = parse_qs(parsed_url.query)
    
    # get the 'name' parameter 
    name = parsed_params['name'][0]
    
    print(name)
    
    >>> 'test'
    

    【讨论】:

      猜你喜欢
      • 2017-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-20
      • 1970-01-01
      • 1970-01-01
      • 2021-05-24
      相关资源
      最近更新 更多