Pour des raisons de débogage, j'aimerais voir la demande brute qui va être envoyée. Existe-t-il un moyen d'obtenir cela sans moniteur HTTP directement à partir de l'API de HttpPost
ou HttpClient
?
J'ai trouvé des questions "presque" en double, mais pas pour celle-ci
Vous pouvez définir certaines variables d'environnement pour Apache HttpClient (exemple testé pour 4.3.2).
System.setProperty("org.Apache.commons.logging.Log","org.Apache.commons.logging.impl.SimpleLog");
System.setProperty("org.Apache.commons.logging.simplelog.showdatetime", "true");
System.setProperty("org.Apache.commons.logging.simplelog.log.org.Apache.http.wire", "DEBUG");
Il y a aussi quelques variables supplémentaires pour le débogage:
System.setProperty("org.Apache.commons.logging.simplelog.log.org.Apache.http.impl.conn", "DEBUG");
System.setProperty("org.Apache.commons.logging.simplelog.log.org.Apache.http.impl.client", "DEBUG");
System.setProperty("org.Apache.commons.logging.simplelog.log.org.Apache.http.client", "DEBUG");
System.setProperty("org.Apache.commons.logging.simplelog.log.org.Apache.http", "DEBUG");
Essaye ça:
HttpClient client = new HttpClient();
PostMethod method = new PostMethod(url);
method.setParameter(...., ....);
récupérer l'URI
System.out.println("getUri: " + method.getURI());
récupérer les paramètres dans le POST
method.getRequestEntity().writeRequest(System.out);
org.Apache.http.client.fluent.Request#viaProxy
Cette méthode peut permettre à votre demande de passer par le serveur proxy afin que vous puissiez lancer un serveur proxy local, par exemple Fiddler, afin que ce proxy de débogage puisse afficher les détails de la demande et de la réponse http.