您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python中的URL解析 – 规范化路径中的双斜杠

5b51 2022/1/14 8:21:25 python 字数 2069 阅读 483 来源 www.jb51.cc/python

我正在开发一个需要在HTML页面中解析URL(主要是HTTP URL)的应用程序 - 我无法控制输入,其中一些是正如预期的那样有点混乱.我经常遇到的一个问题是,在解析和加入路径部分中包含双斜线的URL时,urlparse是非常严格的(甚至可能是错误的?),例如:testUrl = 'http://www.example.com//path?foo=bar'

概述

我正在开发一个需要在HTML页面中解析URL(主要是HTTP URL)的应用程序 – 我无法控制输入,其中一些是正如预期的那样有点混乱.

我经常遇到的一个问题是,在解析和加入路径部分中包含双斜线的URL时,urlparse是非常严格的(甚至可能是错误的?),例如:

testUrl = 'http://www.example.com//path?foo=bar'
urlparse.urljoin(testUrl,urlparse.urlparse(testUrl).path)

而不是预期的结果http://www.example.com//path(甚至更好,使用标准化的单斜杠),我最终得到http:// path.

我正在运行这样的代码的原因是因为这是我到目前为止发现的唯一一种从URL中删除查询/片段部分的方法.也许有更好的方法,但我找不到一个.

任何人都可以推荐一种方法来避免这种情况,或者我应该使用(相对简单,我知道)正则表达式来自我规范化路径?

testUrl.rsplit('?')

url将位于返回列表的索引0和索引1处的查询中.

不可能有两个’?’在一个网址,所以它应该适用于所有网址.

总结

以上是编程之家为你收集整理的Python中的URL解析 – 规范化路径中的双斜杠全部内容,希望文章能够帮你解决Python中的URL解析 – 规范化路径中的双斜杠所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶