Недавно я написал некоторый код в java, который должен отправить строку в php-скрипт, и он отлично работает. Однако он отказывается работать, когда я использую его в программе Android. подумал, что кто-то может помочь мне выяснить, в чем проблема!Android html POST не работает, никаких ошибок
public static String main(String x, String y){ if (android.os.Build.VERSION.SDK_INT > 9) { StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy);
}else{
try{
String username = x;
String password = y;
URL url = new URL(login_url);
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoInput(true);
httpURLConnection.setDoOutput(true);
OutputStream outputStream = httpURLConnection.getOutputStream();
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8"));
String post_data = URLEncoder.encode("username","UTF-8")+"="+URLEncoder.encode(username,"UTF-8")+"&"
+URLEncoder.encode("password","UTF-8")+"="+URLEncoder.encode(password,"UTF-8");
bufferedWriter.write(post_data);
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
// LÄSER FRÅN HEMSIDAN
InputStream inputStream = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1"));
String result="";
String line="";
while((line = bufferedReader.readLine()) != null){
result += line;
}
//AVSLUTA CONNECTION
bufferedReader.close();
inputStream.close();
httpURLConnection.disconnect();
return result;
}catch(Exception e){
e.printStackTrace();
}
}
return null;
}
я позволить разрешение Интернет в манифесте, добавив
<uses-permission android:name="android.permission.INTERNET" />
, но он просто не дает мне никакого результата. Сначала я подумал, что, возможно, в скрипте php есть что-то, но он отлично работает при тестировании в eclipse, поэтому должно быть что-то неправильно или отсутствует в части Android, не так ли?
вы можете добавить этот 'Log.d (« HTTPSENDER »,« »+ httpURLconnection.getResponseCode());' после того, как вы очистите свои данные и узнаете, что у вас есть? В некоторых случаях это также может решить вашу странную ошибку. – user1506104
@ user1506104 спасибо, я дам ему шанс и посмотрю, что произойдет! :) – Janono
вы получили код ответа? это сработало? – user1506104