Al usar los recursos comunes de http: httpclient para Java, ¿cuál es la mejor manera de agregar parámetros de consulta a una instancia de GetMethod? Si estoy usando PostMethod, es muy sencillo:¿Cómo agrego los parámetros de consulta a GetMethod (usando Java commons-httpclient)?
PostMethod method = new PostMethod();
method.addParameter("key", "value");
GetMethod no tiene un método "addParameter", sin embargo. He descubierto que esto funciona:
GetMethod method = new GetMethod("http://www.example.com/page");
method.setQueryString(new NameValuePair[] {
new NameValuePair("key", "value")
});
Sin embargo, la mayoría de los ejemplos que he visto, ya sea difícil que el código de los parámetros directamente en la URL, por ejemplo:
GetMethod method = new GetMethod("http://www.example.com/page?key=value");
o codificar la cadena de consulta, p. ej .:
GetMethod method = new GetMethod("http://www.example.com/page");
method.setQueryString("?key=value");
¿Es preferible uno de estos patrones? ¿Y por qué la discrepancia API entre PostMethod y GetMethod? ¿Y para qué sirven todos esos otros métodos de HttpMethodParams?
he descubierto que esto funciona: método GetMethod = new GetMethod ("http://www.example.com/page"); method.setQueryString (new NameValuePair [] { nuevo NameValuePair ("clave", "valor") }); Esto no se menciona en la página del tutorial, sin embargo. ¿Debería evitarse este patrón? – Ross
Hm, aparentemente no puedes poner bloques de código en los comentarios, así que he editado mi pregunta para agregar ese ejemplo y otros. – Ross