如何使用 urllib 对 url 进行编码而不将“:”替换为“%3A”?
how to encode url with urllib without replacing ":" into "%3A"?
我需要将一些字符串作为参数传递给 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#
库中有什么可以忽略这个的吗?
非常感谢!
如果您使用 urlencode,它总是会将“:”转换为“%3A”,因为这是 url 解析它的唯一方式。它与将 space 字符作为“%20”传递是一样的。
“%3A”字符不会妨碍您的代码的功能。
我需要将一些字符串作为参数传递给 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#
库中有什么可以忽略这个的吗? 非常感谢!
如果您使用 urlencode,它总是会将“:”转换为“%3A”,因为这是 url 解析它的唯一方式。它与将 space 字符作为“%20”传递是一样的。 “%3A”字符不会妨碍您的代码的功能。