【问题标题】:Python http response decodingPython http响应解码
【发布时间】:2013-08-29 01:12:10
【问题描述】:

我目前正在为 arangodb 开发一个 python3.3 api,当从 arango 的 RESTful api 请求内容时,我在 HTTP 响应中遇到了以下问题。

具体示例与密码的 sha256 哈希有关。 如果哈希密码的一部分是这样的:

w/JjMM0gNl

当我使用任何 python http 库时,响应的格式如下:

w\\/JjMM0gNl

用各种方法编码/解码并不能解决这个问题,我想知道我能做些什么来解决这个问题。如果你不熟悉arango,数据以json形式返回。

【问题讨论】:

标签: python encoding python-3.3 arangodb


【解决方案1】:

原因可能是 JSON 中允许对正斜杠进行转义。

以下 JSON 中的正斜杠实际上可能使用反斜杠进行转义。

未转义:

{"foo/bar":"bar/baz"}

转义:

{"foo\/bar":"bar\/baz"}

在取回这样的转义数据时,解码器需要处理/前面的\并忽略它们。我认为大多数解码器并不关心正斜杠是否被转义,至少他们在正斜杠被转义和没有正斜杠的情况下愉快地解析 JSON 数据。

在任何情况下,当您从解码器检索数据作为 python 对象时,转义字符应该消失。处理转义序列是编码器/解码器应该为您透明地处理的任务。

继续:您能否验证来自服务器的 JSON 响应是否真的正确?如果是,那么您可以尝试使用独立的 python 程序,您的解码器是否正确处理此类字符串的编码/解码?

【讨论】:

  • 数据有效,我误用了一些 json 库。这让我再次查看了我的代码并看到了这一点,谢谢!
猜你喜欢
  • 1970-01-01
  • 2018-02-02
  • 1970-01-01
  • 1970-01-01
  • 2014-05-27
  • 2012-11-26
  • 1970-01-01
  • 2010-12-27
  • 1970-01-01
相关资源
最近更新 更多