你好,
我有一个webhook设置在一个托管功能层和由于某种原因的changesUrl是在部分编码,例如:
“changesUrl”:“https % % 2 f % 2 3 fservices2.arcgis.com % 2 fo48sbyo4drqxssch % 2 farcgis % 2弗列斯特% 2 fservices % 2 ffinn_maps_hfs % 2 ffeatureserver % 2 fextractchanges % 3 fservergens % 3 d % 5 b479297 % 2 c479305 % 5 d % 26异步% 3 dtrue % 26 returnupdates % 3 dfalse % 26 returndeletes % 3 dfalse % 26 returnattachments % 3 dfalse”
我有一个WSGI服务器设置(使用瓶),这是钩子url,所以我有整个python在我的处置。除了试图提取所需的信息并以编程方式重新创建URL之外……这很可能会出错有没有其他方法来解决这个问题?我试着在一些论坛上看看是否有可能解码一个“编码”的字符串(我的意思是它是编码的,但不是python的“编码”,所以解码方法将不可用),它似乎不是,或者至少它不常见。
我猜如果我使用url形式编码的内容类型,我可能不会有这个问题,因为我在integromat上设置了一个场景,这不是问题。这里的问题是,我已经有我的路由设置application/json,并不是真的想要改变,如果我没有必要
有什么建议吗?谢谢!
解决了!转到解决方案。
重新创建这篇文章:
URL确实是编码的,但如果你试图使用“decode”方法,可能不是你所想的方式。这种格式被称为编码URL(参见https://www.w3schools.com/html/html_urlencode.asp).我不能说如果changesUrl应该被编码,但我同意webhook有效负载包括一个编码的URL。
在Python中,您可以通过将URL编码的字符串转换为非编码的URLurllib.parse.unquote(https://docs.python.org/3/library/urllib.parse.html).
编辑:Carl指出请求库有类似的功能:requests.utils.unquote (url)
重新创建这篇文章:
URL确实是编码的,但如果你试图使用“decode”方法,可能不是你所想的方式。这种格式被称为编码URL(参见https://www.w3schools.com/html/html_urlencode.asp).我不能说如果changesUrl应该被编码,但我同意webhook有效负载包括一个编码的URL。
在Python中,您可以通过将URL编码的字符串转换为非编码的URLurllib.parse.unquote(https://docs.python.org/3/library/urllib.parse.html).
编辑:Carl指出请求库有类似的功能:requests.utils.unquote (url)