【问题标题】:Google returning 400 Parse Error谷歌返回 400 解析错误
【发布时间】:2013-07-29 15:31:00
【问题描述】:

我最近在向我的时间轴 URL 发出请求时收到 400 bad request parse 错误。

我发帖到这个网址 timeline_url = '@987654321@'

编辑 代码如下:

    headers = {'Content-Type': 'application/json',
               'Authorization' : 'Bearer %s' % access_token}
    body = {"text" : "Waddup doe!"}
    """ ***********THIS IS RETURNING ERROR 400 PARSE ERROR***********"""
    send_request(timeline_url, headers, 'POST',body)

send_request 方法是使用requests

req = requests.post(url, data=body, headers=headers)

我只是想在我的时间线中插入纯文本。

【问题讨论】:

    标签: python parse-error google-mirror-api


    【解决方案1】:
    body_bytes = sys.getsizeof(body)
    headers['Content-Length'] = body_bytes
    

    这是在您的请求标头中插入了不正确的值。 sys.getsizeof 描述了数据结构有多大——包括指针、计数器等。它确实描述了字符串表示在 HTTP 流上占用了多少字节。

    只需删除这些行; requests 会自动填写Content-Length


    您没有描述如何对有效负载进行 json 编码。也许您需要这样做:

    req = requests.post(url, data=json.dumps(body), headers=headers)
    

    见:http://docs.python-requests.org/en/latest/user/quickstart/#more-complicated-post-requests

    【讨论】:

    • 我一开始就是这样做的,但它仍然返回 400 解析错误。我认为请求可能不正确,因为它缺少内容长度。你是对的,请求确实会自动填充。
    • 也许您未能对正文进行 json 编码?查看我的最新编辑。
    • 在我忘记它是如何完成之前,我就知道它有效。 json.dumps() 丢失。谢谢你,很好的观察。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-19
    • 2023-02-26
    • 1970-01-01
    • 2017-08-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多