En utilisant le client http d'Apache pour Java, quel est le meilleur moyen d'ajouter des paramètres de requête à une instance de GetMethod? Si j'utilise PostMethod, il est très simple:Comment ajouter des paramètres de requête à un GetMethod (en utilisant Java commons-httpclient)?
PostMethod method = new PostMethod();
method.addParameter("key", "value");
GetMethod ne possède pas de méthode « addParameter », cependant. Je l'ai découvert que cela fonctionne:
GetMethod method = new GetMethod("http://www.example.com/page");
method.setQueryString(new NameValuePair[] {
new NameValuePair("key", "value")
});
Cependant, la plupart des exemples que je l'ai vu soit coder en dur les paramètres directement dans l'URL, par exemple:
GetMethod method = new GetMethod("http://www.example.com/page?key=value");
ou coder en dur chaîne de requête, par exemple:
GetMethod method = new GetMethod("http://www.example.com/page");
method.setQueryString("?key=value");
L'un de ces modèles est-il préférable? Et pourquoi la différence API entre PostMethod et GetMethod? Et à quoi servent toutes ces autres méthodes HttpMethodParams?
J'ai découvert que cela fonctionne: méthode GetMethod = new GetMethod ("http://www.example.com/page"); method.setQueryString (nouveau NameValuePair [] { nouveau NameValuePair ("clé", "valeur") }); Ceci n'est cependant pas mentionné sur la page du tutoriel. Ce modèle devrait-il être évité? – Ross
Hm, apparemment, vous ne pouvez pas mettre des blocs de code dans les commentaires, alors j'ai modifié ma question pour ajouter cet exemple et d'autres. – Ross