Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupération du POST envoyer par Android

    12 juin 2019 à 10:44:44

    Bonjour a tous,

    J'ai besoin de votre aides concernant le code ci-dessous, le code exécute bien le script php mais je n'arrive pas a récupérer le $_POST principalement car je ne connais pas le nom de celui-ci, j'ai peut-être également oublié quelque chose...

    OkHttpClient okHttpClient = new OkHttpClient();
    
                    MediaType JSON_TYPE = MediaType.parse("application/json; charset=utf-8");
                    String myJson = "{1234}";
    
    //Création de la requête POST
                    Request myGetRequest = new Request.Builder()
                            .url("http://xx.xxx.xx.xxx/xxx/connect.php")
                            .post(RequestBody.create(JSON_TYPE, myJson))
                            .build();
    
                    okHttpClient.newCall(myGetRequest).enqueue(new Callback() {
    
    
                        @Override
                        public void onResponse( Call call,  Response response) throws IOException {
    
                        }
    
                        public void onFailure( Call call,  IOException e) {
    
                        }
    
                        public void onFailure(Request request, IOException e) {
    
                        }
    
    
                        public void onResponse(Response response) throws IOException {
                            //le retour est effectué dans un thread différent
                            final String text = response.body().string();
    
                            runOnUiThread(new Runnable() {
                                @Override
                                public void run() {
                                    //textView.setText(text);
                                }
                            });
                        }
                    });

    Je précise, je suis sur un serveur local d'un réseau.

    implementation 'com.squareup.okhttp3:okhttp:3.0.0'

    J'ai également essayer ceci sans plus de succès

    OkHttpClient okHttpClient = new OkHttpClient();
    
                    MediaType JSON_TYPE = MediaType.parse("application/json; charset=utf-8");
    
    //Création de la requête POST
                    RequestBody requestB = new MultipartBody.Builder()
                            .setType(MultipartBody.FORM)
                            .addFormDataPart("code","1234")
                            .build();
    
    
                    Request myGetRequest = new Request.Builder()
                            .url("http://xx.xxx.xx.xxx/xxxx/connect.php")
                            .post(requestB)
                            .build();
    
                    okHttpClient.newCall(myGetRequest).enqueue(new Callback() {
    
    
                        @Override
                        public void onResponse( Call call,  Response response) throws IOException {
    
                        }
    
                        public void onFailure( Call call,  IOException e) {
    
                        }
    
                        public void onFailure(Request request, IOException e) {
    
                        }
    
    
                        public void onResponse(Response response) throws IOException {
                            //le retour est effectué dans un thread différent
                            final String text = response.body().string();
    
                            runOnUiThread(new Runnable() {
                                @Override
                                public void run() {
                                    
                                }
                            });
                        }
                    });



    Merci pour votre aide ;)

    -
    Edité par NicolasJegat 13 juin 2019 à 11:08:47

    • Partager sur Facebook
    • Partager sur Twitter
      14 juin 2019 à 9:44:45

      C'est Bon j'ai réussi a trouver, je laisse le code pour ceux qui en aurai besoin:

      RequestBody requestBody = new MultipartBody.Builder()
                      .setType(MultipartBody.FORM)
                      .addFormDataPart("clé", "valeur")
                      .addFormDataPart("clé", "valeur")
                      .build();
      
              OkHttpClient client = new OkHttpClient();
              okhttp3.Request request = new okhttp3.Request.Builder()
                      .url("http://xx.xxx.xx.xxx/xxxx/connect.php")
                      .post(requestBody)
                      .addHeader("token", "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiIkMnkkMTAkZzZrLkwySlFCZlBmN1RTb3g3bmNpTzltcVwvemRVN2JtVC42SXN0SFZtbzZHNlFNSkZRWWRlIiwic3ViIjo0NSwiaWF0IjoxNTUwODk4NDc0LCJleHAiOjE1NTM0OTA0NzR9.tefIaPzefLftE7q0yKI8O87XXATwowEUk_XkAOOQzfw")
                      .addHeader("cache-control", "no-cache")
                      .addHeader("Postman-Token", "7e231ef9-5236-40d1-a28f-e5986f936877")
                      .build();
      
              Object context = this;
      
      
              client.newCall(request).enqueue(new Callback() {
                  @Override
                  public void onFailure(Call call, IOException e) {
                      e.printStackTrace();
                  }
      
                  @Override
                  public void onResponse(Call call, okhttp3.Response response) throws IOException {
                      if (response.isSuccessful()) {
                          final String myResponse = response.body().string();
      
                      }
                  }
              });

      J'ai juste encore un petit problème que j'aimerai régler, c'est comment récupérer les réponses de la page php

      Merci

      • Partager sur Facebook
      • Partager sur Twitter

      Récupération du POST envoyer par Android

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown