XQuery到API Python字符串

2024-06-20 14:58:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Postman将xquery转换为Python字符串for API。现在,我需要能够在Python中将普通的Xquery字符串转换为API字符串,而无需使用Postman。在

例如,这里的Xquery是一个字符串

query_string = "xquery version '1.0-ml'; declare namespace html = 'http://www.w3.org/1999/xhtml'; fn:count(fn:collection('foo'))"

使用Postman转换为以下字符串:

^{pr2}$

我现在需要创建与上面相同的字符串。如果我想用urrllib.parse.quote,它将更改括号和“”,并使字符串:

^{3}$

是否有其他方法可以获得与Postman使用纯Python生成的字符串结果相匹配的结果?在


Tags: 字符串apiforstringversionhtmlquerypostman
2条回答

在尝试了API之后,我发现这是可行的:

payload = 'xquery=' + urllib.parse.quote(query_string, safe="'()")

我不确定从这个问题的措辞方式来看,期望的结果是什么,但是如果您不希望括号编码(不确定为什么您希望这样做,因为这是正确的行为),您可以将safe参数传递给urllib.parse.quote

>>> urllib.parse.quote(query_string, safe='()')
'xquery%20version%20%271.0-ml%27%3B%20declare%20namespace%20html%20%3D%20%27http%3A%2F%2Fwww.w3.org%2F1999%2Fxhtml%27%3B%20fn%3Acount(fn%3Acollection(%27foo%27))'

相关问题 更多 >