Envoi de données POST sous Android
Les requêtes POST sont utilisées pour envoyer des données à un serveur afin de créer ou de mettre à jour une ressource, généralement dans la forme d'un formulaire Web. Dans ce cas, la tâche consiste à envoyer des données POST à un script PHP sur un serveur et à afficher les résultats.
Solution (mise à jour pour Android 6.0) :
Le L'approche recommandée consiste à utiliser la classe HttpURLConnection. Voici un extrait Java montrant comment envoyer des données POST :
public class CallAPI extends AsyncTask<String, String, String> { @Override protected String doInBackground(String... params) { String urlString = params[0]; String data = params[1]; OutputStream out = null; try { URL url = new URL(urlString); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); out = new BufferedOutputStream(urlConnection.getOutputStream()); BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out, "UTF-8")); writer.write(data); writer.flush(); writer.close(); out.close(); urlConnection.connect(); } catch (Exception e) { System.out.println(e.getMessage()); } return null; } }
Solution originale (obsolète pour Android 6.0) :
Avant Android 6.0, la bibliothèque Apache HttpClient pourrait être utilisé pour HTTP Post requêtes :
public void postData() { HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php"); List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(); nameValuePairs.add(new BasicNameValuePair("id", "12345")); nameValuePairs.add(new BasicNameValuePair("stringdata", "Hi")); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); try { HttpResponse response = httpclient.execute(httppost); } catch (Exception e) { // Handle exceptions } }
Références :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!