我需要传递一些字符串作为REST api的参数。 我正在使用httplib2请求API和urllib对参数进行编码。
我有这样的时间戳记,其格式为:
('%Y-%m-%dT%H:%M:%S')/2019-07-08T13:20:23
我在下面这样做:
values={'identifier' : identifier,
'timestamp': timestamp,
'signature-version': signature_version,
'signature-method':signature_method,
'signature': signature}
现在执行urlencode会将“:”删除为“%3A”。
data = urllib.parse.urlencode(values)
这让我回想起
timestamp=2019-07-08T13%3A20%3A23#
库中有什么可以忽略这一点的吗? 非常感谢!
答案 0 :(得分:1)
如果您使用urlencode,它将始终将':'转换为'%3A',因为这是URL解析它的唯一方法。与将空格字符传递为'%20'相同。 '%3A'字符不会妨碍代码的功能。