Android http post参数错误码500


Android http post with params error code 500

我想通过http post添加新的支持数据。我得到一个错误响应代码是500。我检查代码和php文件,我看不到任何问题。我不完整的代码如何我可以得到解决500个错误后的结果。

NewSupport.java

try{
    URL url = new URL("myurl/db_newSupport.php");
    HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    conn.setReadTimeout(15000);
    conn.setConnectTimeout(15000);
    conn.setRequestMethod("POST");
    conn.setDoInput(true);
    conn.setDoOutput(true);
    Uri.Builder builder = new Uri.Builder()
            .appendQueryParameter("uniq",  "UNIQ")
            .appendQueryParameter("data",  "DATA")
            .appendQueryParameter("date",  "DATE");
    String query = builder.build().getEncodedQuery();
    OutputStream os = conn.getOutputStream();
    BufferedWriter writer = new BufferedWriter(
            new OutputStreamWriter(os, "UTF-8"));
    writer.write(query);
    writer.flush();
    writer.close();
    os.close();
    int responseCode=conn.getResponseCode();
    if (responseCode == HttpURLConnection.HTTP_OK) {
        BufferedReader in=new BufferedReader(new InputStreamReader(conn.getInputStream()));
        StringBuffer sb = new StringBuffer("");
        String line="";
        while((line = in.readLine()) != null) {
            sb.append(line);
            break;
        }
        in.close();
    }
}
catch(Exception e){
    e.printStackTrace();
}

db_newSupport.php

$response = array();
if (isset($_POST['uniq']) && isset($_POST['data']) && isset($_POST['date'])) {
    $uniq  = $_POST['uniq'];
    $data  = $_POST['data'];
    $date  = $_POST['date'];
    require_once __DIR__ . '/db_connect.php';
    $db    = new DB_CONNECT();
    $result= mysql_query("INSERT INTO new(uniq, data, date) VALUES('$uniq', '$data', '$date')");
    if ($result) {
        $response["code"]  = 1;
        $response["info"]  = "successfully";
        echo json_encode($response);
    } else {
        $response["code"]  = 0;
        $response["info"]  = "error";
        echo json_encode($response);
    }
} else {
    $response["code"] = 99;
    $response["info"] = "error";
    echo json_encode($response);
}
?>

这是服务器端问题。

  1. 启用PHP-errors: https://stackoverflow.com/a/845025/1979882

  2. 将POST方法更改为GET,以便检查结果是否为任何浏览器,以简化调试。

3。在此写入生成的日志。

看这个:https://stackoverflow.com/a/9711595/1979882

和this: https://stackoverflow.com/a/9717056/1979882

简而言之,执行此chmod -R 755 /usr/local/apache/htdocs/

500响应码表示服务器端崩溃。您应该查看服务器日志以了解崩溃的详细信息。

查看http状态码列表

500表示服务器内部错误。

URL的相对路径。试着给出绝对路径,比如"http://<您的域名>/db_newSupport.php".