HttpURLConnection类返回500错误代码在Amazon Elastic青苗返回错误代码500的任何呼叫
问题描述:
我的Android代码来调用Web服务的PHP(JSON),但getErrorStream回我的服务的正确的返回。HttpURLConnection类返回500错误代码在Amazon Elastic青苗返回错误代码500的任何呼叫
当我打电话的getInputStream我收到错误IOException,但URL是正确的,当我用浏览器返回调用是正确的。
我的代码:
public class AsyncLogin extends AsyncTask<String, String, String> {
private Activity activity;
public AsyncLogin(Activity activity)
{
this.activity = activity;
}
@Override
protected String doInBackground(String... url) {
StringBuilder resultado = new StringBuilder();
try {
String urlx = url[0];
URL urlNet = new URL(urlx);
HttpURLConnection conn= (HttpURLConnection) urlNet.openConnection();
conn.setReadTimeout(10000);
conn.setConnectTimeout(15000);
conn.setRequestMethod("GET");
conn.setRequestProperty("Content-Type", "application/json");
conn.setUseCaches(false);
conn.connect();
int resposta = conn.getResponseCode();
InputStream retorno = conn.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(retorno));
String linha = "";
while ((linha=br.readLine())!= null)
{
resultado.append(linha);
}
conn.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
return resultado.toString();
}
@Override
protected void onPostExecute(String resultado){
if (Boolean.valueOf(resultado))
{
Toast.makeText(activity, "1", Toast.LENGTH_LONG).show();
}else {
Toast.makeText(activity, "2", Toast.LENGTH_LONG).show();
}
}
}
和我的PHP代码:
<?php
header('Content-type: application/json');
$data = array(
'Teste' => 'Alo mundo!'
);
$resultado = json_encode($data);
echo $resultado;
?>
答
我的PHP有最后的代码行一个错误,当我在web浏览器phpcode看到打印的json没有显示错误,但最后一行生成错误代码500,当我与Android调用正确的错误代码是500
我解决我的PHP最后一行(关闭连接)和该代码工作正常。
500错误是服务器端。请你把'stacktrace'日志 – Riad
在onPostExecute你应该Toast'resultado'。现在你什么都看不到。 – greenapps
GET与内容类型application/json? Whers是JSON吗? – greenapps