【问题标题】:Flask REST POST request failing "Bad Request" based on length of json基于 json 长度的 Flask REST POST 请求失败“错误请求”
【发布时间】:2015-12-24 02:12:54
【问题描述】:

我遇到了一个问题,我正在向烧瓶应用程序发帖并收到烧瓶页面响应:错误请求浏览器或代理发送了此服务器无法理解的请求。

一些有用的细节...

    String testjsonstr = "["+jsonList.get(0).toString()+","+jsonList.get(1).toString()+","+jsonList.get(2).toString()+"]";
    StringEntity se = new StringEntity(testjsonstr);
    httpPost.setEntity(se);
    httpPost.setHeader("Accept", "application/json");
    httpPost.setHeader("Content-type", "application/json");
    httpPost.setHeader("Accept-Charset", "utf-8");
    HttpResponse httpResponse = httpclient.execute(httpPost);

未能发布并给出提到的“错误请求”

将json字符串编辑为

 String testjsonstr = "["+jsonList.get(0).toString()+","+jsonList.get(1).toString()+"]";

导致发布成功。我已经测试了这个以及来自 jsonList 工作的 2 个项目的任意组合。当我尝试将第三个项目添加到 json 列表时,我得到了错误。有什么想法吗?

【问题讨论】:

  • 烧瓶日志和 POST 处理程序的源代码会有所帮助
  • 感谢您的检查!不知道发生了什么,或者我是否只是使用了错误的数据,但我尝试了一个新的 jsonObjects 列表,它似乎有效,这意味着我猜这是一个数据问题......我的服务器日志中没有烧瓶错误给我任何知道我可以看到的请求有什么问题,这让我发疯。无论如何,我应该能够摆弄数据直到它起作用。

标签: java json rest flask httpclient


【解决方案1】:

知道了 json 数据中有不间断的空格 utf-8 被列为 C2A0。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-28
    • 1970-01-01
    • 1970-01-01
    • 2022-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-25
    相关资源
    最近更新 更多