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
759 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!

source:php.cn
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