Maison > Java > javaDidacticiel > Comment envoyer des données POST sous Android à l'aide de HttpURLConnection ?

Comment envoyer des données POST sous Android à l'aide de HttpURLConnection ?

DDD
Libérer: 2024-12-25 10:14:12
original
832 Les gens l'ont consulté

How to Send POST Data in Android Using HttpURLConnection?

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;
    }
}
Copier après la connexion

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
    }
}
Copier après la connexion

Références :

  • https://developer.android.com/reference/java/net/HttpURLConnection.html
  • Comment ajouter des paramètres à HttpURLConnection à l'aide de POST à ​​l'aide de NameValuePair

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal