创建不编码的查询字符串

时间:2018-12-13 15:16:00

标签: python-3.x urllib urlencode

我想创建一个查询字符串,但不对 //Name of your field if (field.Title == "YourFieldDisplayName" && oListItem[field.StaticName] != null) { dr["Title"] = oListItem[field.StaticName].ToString(); } @!之类的特殊字符进行编码。

这是我的代码:

?

现在我得到如下输出:

  

password = myPassword54321%21%3F&email = test%40hello3.ch

如何使输出看起来像这样:

  

password = myPassword54321!?&email=test@hello3.ch

2 个答案:

答案 0 :(得分:1)

urllib.parse.unquote%xx字符转义符替换为它们代表的字符

from urllib.parse import urlencode, unquote

print(unquote(urlencode(payload)))
# key=value&key2=value2&email=test@hello3.ch&password=myPassword54321!?

答案 1 :(得分:1)

如果您不想使用urlencode的编码功能,则最好也不要使用它,因为它并没有做太多其他事情。如果只想打印由&符号分隔并由=连接的键/值对,则使用str.joinstr.format很简单:

print("&".join("{}={}".format(key, value) for key, value in payload.items()))