[英]URL Encoding/Decoding in python (whole url, not just the path)
我做了很多搜索和实验,但我找不到解决方案。 所以,如果我错过了一些微不足道的事情,我会提前道歉。
问题:
我有一个python turbogears应用程序正在下载网址资源。 它被给予客户端下载的URL。
一个客户特别发送未转义的网址。 例如,' http://www.foo.com/file with space.txt'
当我尝试下载它时,下载失败,因为服务器无法识别此URL。 它需要将空间转义为有效的URL。
我知道有一些方法(urllib.urlencode / urllib.quote等)将编码字符串。 但是他们认为他们使用的字符串不是网址。 如果您为这些方法提供URL,它们将逃避URL的方案,并使其更加无效。
因此,摘要是:如何在python中覆盖整个完全限定的URL?
注意:我尝试使用urlparse解析url组件以获取路径。 但是有时url会有查询参数,片段等等。因此,我不想编写将url拆分为其部分的代码,只从path + query + fragment中转义所需的内容,然后重构url。
是否有任何辅助函数直接获取url并逃脱它?
另请注意,有时我会从客户端获得有效的转义网址。 所以,我也想处理它们,而不是双重逃避它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.