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

标签 python urlparse

我有两个系统:

第一个按预期工作:

>>> 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 :

  • Issue #9374: Generic parsing of query and fragment portions of url for any scheme. Supported both by RFC3986 and RFC2396.

patch that fixes it没那么大,你可以复制fixed urlsplit() function和猴子补丁 urllib 如果你不能升级那台机器(你必须首先从 urllib 导入一些 _private 名称,当然)。

关于python - urlparse() 查询字符串丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49790708/

相关文章:

python - django parler 创建测试对象

Python - 缩放数组的一部分而不是其余部分

python - 如何使用正则表达式删除某些 HTML 标记中的字符串并且字符串必须包含空格

python - 使用 Python 连接 ElephantSQL

python - 如何从 database_url 解析 mysql 数据库名称

python - 如何在 python-3 中导入 urlparse?

python - Python 3.x 有哪些 SOAP 库?

Python urlparse : small issue

python - 解析html文件后将元组转换为字符串

python - Unicode as String 无需转换 Python