urlparse()查询字符串丢失 - python

我有两个系统:

按计划进行的第一个工作:

>>> urlparse.urlparse('foo://bar/?blu=1')
ParseResult(scheme='foo', netloc='bar', path='/', params='', query='blu=1', fragment='')

# sys.version_info(major=2, minor=7, micro=12, releaselevel='final', serial=0)

第二个则不同:

>>> urlparse.urlparse('foo://bar/?blu=1')
ParseResult(scheme='foo', netloc='bar', path='/?blu=1', params='', query='', fragment='')

#sys.version_info(major=2, minor=7, micro=3, releaselevel='final', serial=0)

怎么了

两者都使用Python 2.7。

参考方案

第二台机器正在运行非常古老的Python 2.7版本。您已经遇到了issue 9374,此修复程序已在Python 2.7.4rc1中发布,即released on 2013-03-23,因此比该版本早2.7版本。

从2.7.4rc1 NEWS file:

  • 问题#9374:对任何URL的查询和片段部分进行通用解析
    方案。 RFC3986和RFC2396均受支持。
  • patch that fixes it并不大,如果您不能升级该机器,则可以复制fixed urlsplit() function和猴子补丁urllib(当然,您必须先从_private导入一些urllib名称)。

    如何在Python中构建URL - python

    Improve this question 我需要知道如何在python中建立网址,例如:http://subdomain.domain.com?arg1=someargument&arg2=someotherargument 您建议使用哪个库?为什么?这种图书馆是否有“最佳”选择?另外,您可以为我提供示例代码以开始使用该库吗? 参考方案 pytho…

    在返回'Response'(Python)中传递多个参数 - python

    我在Angular工作,正在使用Http请求和响应。是否可以在“响应”中发送多个参数。角度文件:this.http.get("api/agent/applicationaware").subscribe((data:any)... python文件:def get(request): ... return Response(seriali…

    Python exchangelib在子文件夹中读取邮件 - python

    我想从Outlook邮箱的子文件夹中读取邮件。Inbox ├──myfolder 我可以使用account.inbox.all()阅读收件箱,但我想阅读myfolder中的邮件我尝试了此页面folder部分中的内容,但无法正确完成https://pypi.python.org/pypi/exchangelib/ 参考方案 您需要首先掌握Folder的myfo…

    python JSON对象必须是str,bytes或bytearray,而不是'dict - python

    在Python 3中,要加载以前保存的json,如下所示:json.dumps(dictionary)输出是这样的{"('Hello',)": 6, "('Hi',)": 5}当我使用json.loads({"('Hello',)": 6,…

    Python pytz时区函数返回的时区为9分钟 - python

    由于某些原因,我无法从以下代码中找出原因:>>> from pytz import timezone >>> timezone('America/Chicago') 我得到:<DstTzInfo 'America/Chicago' LMT-1 day, 18:09:00 STD…