私は最近、PHPスクリプトに文字列を送信するはずのjavaでコードを書いています。しかし、それは私がアンドロイドプログラムで使用するときに動作することを拒否します。誰かが私が問題の原因を見つけるのを助けることができたと思った!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スクリプトに何かが欠けていたと思ったが、それは完全にうまくいけば日食でテストされているので、何か間違っているか、アンドロイドの部分から右に欠けている必要がありますか?
あなたはデータをフラッシュして得たものを見た後、この 'Log.d(" HTTPSENDER "、" + httpURLconnection.getResponseCode());場合によっては、これもあなたの奇妙なエラーを解決することができます。 – user1506104
@ user1506104ありがとう、私はそれを打つと何が起こるか見てみましょう! :) – Janono
レスポンスコードを取得しましたか?それは機能しましたか? – user1506104