500 内部服务器错误 django java

Posted

技术标签:

【中文标题】500 内部服务器错误 django java【英文标题】:500 Internal server error django java 【发布时间】:2015-03-05 10:54:24 【问题描述】:

我正在从我的 Java 应用程序向我的 Django 应用程序(在同一台机器上)发送一个 Java 发布请求(JSON 对象)。

我的 java 请求部分代码是:

    HttpClient client = new DefaultHttpClient();
    HttpPost post = new HttpPost(myurl);
    String json = jsonobject;

    StringEntity entity = new StringEntity(json,"UTF-8");
    entity.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
    post.setEntity(entity);
    try 
        HttpResponse response1 = client.execute(post);
        LOGGER.info("Reached " + response1);
     catch (ClientProtocolException e) 
        // TODO Auto-generated catch block
        e.printStackTrace();
     catch (IOException e) 
        // TODO Auto-generated catch block
        e.printStackTrace();
    

而我的Python视图函数如下:

@csrf_exempt
def rcvr1(request):
    if request.method=="POST":
        try:
            return StreamingHttpResponse("here")
        except:
            return StreamingHttpResponse("not Here")

    return StreamingHttpResponse("Unsuccessful")

来自 Java 的 post 请求正在访问服务器,但出现错误:

HTTP/1.0 500 内部服务器错误 [日期:2015 年 1 月 7 日星期三 14:00:11 GMT,服务器:WSGIServer/0.1 Python/2.7.6,X-Frame-Options:SAMEORIGIN, 内容类型:text/html]

【问题讨论】:

在您的 settings.py 中添加 DEBUG=True 以查看错误 已经是真的了,但是错误显示在哪里? 它将在响应中,您可以从您的 java 客户端转储更多信息,但由于它在检查 POST 之前就失败了,您也可以通过 GET 使用浏览器检查它 【参考方案1】:

您不能将字符串传递给StreamingHttpResponse,它必须是生成器。

在您进行更改之前,您可以改用HttpResponse 来测试上述内容。

HttpResponse("Your text here")

【讨论】:

没有变化,我什至在我的 if request.method=="POST" 之前添加了打印“检查”,它没有打印“检查”,它仍然给出相同的错误 07/Jan/2015 16:04:51] "POST /jsonabc HTTP/1.1" 500 69625 - 终端(运行 django 服务器的地方)和上面提到的运行 java 代码的地方 好的,我建议在您的设置中使用DEBUG=True,按照答案的建议并使用 GET 访问该 URL,因为该打印应该以任何一种方式运行。此外,如果您有任何非标准中间件,您应该在您的问题中列出它。最后检查您是否正在导入您引用的所有内容。

以上是关于500 内部服务器错误 django java的主要内容,如果未能解决你的问题,请参考以下文章

Django POST 方法给出 500 内部服务器错误

处理 Django Rest Framework 中的 500 个内部错误

Django - collectstatic 后出现 500 内部服务器错误

Django 部署到 AWS EB 显示 500 内部服务器错误

在 Dreamhost 上使用 django 出现 500 内部服务器错误

500(内部服务器错误)AJAX Django