【问题标题】:How can I fix Python API encoding to create or save these symbols & # '?如何修复 Python API 编码以创建或保存这些符号 & # '?
【发布时间】:2021-07-03 07:40:17
【问题描述】:

对不起,我在 Python 中创建了用于 API 的 def create。可以保存或创建包括符号在内的任何字符。

使用这样的编码:

text = str(bbas + l).encode('UTF-8')
hash_md5 = hashlib.md5(text).hexdigest()
md5_encode = hash_md5.encode('UTF-8')
hash_sha1 = hashlib.sha1(md5_encode).hexdigest()
location_source = hash_sha1[0:6]

但除了这些符号 & # '

如何修复代码以解析数据以接受符号 & # '? 问候,法齐

【问题讨论】:

  • eval() 与处理用户输入无关。使用 JSON 等既定且安全的格式。

标签: python api encoding utf-8


【解决方案1】:

添加到 URL 的参数应该是 URL 编码的。 python3 使用urllib.parse.quote,python2 使用urllib.urlencode

如 cmets 中所述,最好不要对通过 API 接收的数据使用 eval() - 而是使用 JSON 之类的东西对其进行序列化。

【讨论】:

  • 如前所述,我使用 JSON 代替方法“POST”和“Content-Type”:“application/json”。我尝试通过使用 %26 表示 &、%23 表示 # 和 %22 表示 " 来转换 url 上的符号。它有效。但不建议用户使用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-04
相关资源
最近更新 更多