【发布时间】:2016-07-16 06:21:03
【问题描述】:
似乎当data 中的键的值为None 时,请求中不包含该键。
>>> req = requests.Request('POST', 'http://google.com', data=dict(a=None, b=1))
>>> req.prepare().body
'b=1'
为什么会这样?我期待一个空字符串,或类似json.dumps(d) 的东西,其中None 呈现为null。我敢肯定有一个很好的理由——只是好奇它是什么。 (我能想到的一件事是,也许只是没有可用于 POST 请求的 null 或 None 的编码——这是真的吗?)
另外好奇——为什么requests 会默默地忽略这些数据而不是抛出错误?
【问题讨论】:
-
None是一个特殊的类 (python3.x) / 类型 (python2.x),旨在表示没有值。如果您想要一个空字符串,请将a设为空字符串 (a="")。更多信息here
标签: python http-post python-requests