当前位置: 首页 > 知识库问答 >
问题:

从Python中的URL获取查询字符串的最佳方法?

马奇略
2023-03-14

我需要从这个URL获取查询字符串https://stackoverflow.com/questions/ask?next=1

>

  • 使用urlparse urlparse.urlparse(url.query)

    使用url encode使用urlencode并将request.GET params字典传递到其中以获取字符串表示形式。

    那么哪种方式更好呢?我的同事更喜欢urlencode,但没有提供令人满意的解释。他们声称urlparse在内部调用urlencode,这是我不确定的事情,因为urlencode生活在urllib模块中。

  • 共有3个答案

    曹奇文
    2023-03-14

    我更喜欢使用

    request.META['QUERY_STRING']
    

    从文档:

    https://docs.djangoproject.com/en/stable/ref/request-response/#django.http.HttpRequest.META

    这不包括前缀。

    乐正育
    2023-03-14

    第三种选择:

    >>> from urlparse import urlparse, parse_qs
    >>> url = 'http://something.com?blah=1&x=2'
    >>> urlparse(url).query
    'blah=1&x=2'
    >>> parse_qs(urlparse(url).query)
    {'blah': ['1'], 'x': ['2']}
    

    在Python 3中,这可以通过以下方式获得:

    from urllib.parse import parse_qs
    

    urllib.parse的文档

    盖博简
    2023-03-14

    您可以使用如下GET参数生成查询字符串

    request.GET.urlencode()
    

    这不包括前缀,并且它可能不会以与原始请求相同的顺序返回密钥。

     类似资料:
    • 问题内容: 我需要从此URL获取查询字符串,并且我不想使用request.META。我已经发现还有两种获取查询字符串的方法: 使用urlparse urlparse.urlparse(url).query 使用url编码 使用urlencode并向其中传递request.GET params字典以获取字符串表示形式。 那么哪种方法更好呢?我的同事更喜欢urlencode,但没有提供令人满意的解释。

    • 在python中,从URL查询字符串(例如,通过表单附加到URL的数据)解析数据的最佳方法是什么?我的目标是接受表单数据并将其显示在同一页面上。我已经研究了几种方法,但并不完全是我想要的。 我正在创建一个简单的Web服务器,目标是学习套接字。此Web服务器仅用于测试目的。

    • 问题内容: 我需要的是将URL 的值转换成变量,然后在jQuery代码中使用它: 有谁知道如何使用JavaScript或jQuery来获取该价值? 问题答案: 这就是你所需要的:) 以下代码将返回一个包含URL参数的JavaScript对象: 例如,如果您具有URL: 此代码将返回: 您可以执行以下操作:

    • 问题内容: 我需要解析这样的URL字符串: 我需要将NSString拆分为类似和的标志部分。我一直在用,但是值以随机顺序返回,所以搞砸了。是否有任何类可以轻松解析,因此您基本上可以将其转换为NSDictionary以便能够读取键的值(例如ValueForKey:应该返回)。还是有比使用子字符串更简单的解析方法? 问题答案: **编辑(2018年6月):[ 这个答案更好 您可以queryItems在

    • 问题内容: 关于$ location.search,文档说, 不带任何参数调用时返回当前URL的搜索部分(作为对象)。 在我的网址中,我的查询字符串包含一个不带值的参数’?test_user_bLzgB’。同样,’$ location.search()’返回一个对象。我如何获得实际的文字? 问题答案: 自从接受了接受的答案以来,不确定是否已更改,但是有可能。 将返回键值对的对象,该对象与查询字符串

    • 问题内容: 从格式如下的URL查询字符串中获取参数的“较少代码”方法是什么? www.mysite.com/category/subcategory?myqueryhash 输出应为: 我知道这种方法: 问题答案: 包含您要查找的数据。 文件资料 **php.net:$** _SERVER-手册