Использование Apache для commons-httpclient для Java, каков наилучший способ добавить параметры запроса к экземпляру GetMethod? Если я использую PostMethod, это очень просто:Как добавить параметры запроса в GetMethod (используя Java commons-httpclient)?
PostMethod method = new PostMethod();
method.addParameter("key", "value");
GetMethod не имеет метод «addParameter», хотя. Я обнаружил, что это работает:
GetMethod method = new GetMethod("http://www.example.com/page");
method.setQueryString(new NameValuePair[] {
new NameValuePair("key", "value")
});
Однако, большинство примеров, которые я видел либо жестко закодировать параметры непосредственно в URL, например:
GetMethod method = new GetMethod("http://www.example.com/page?key=value");
или жестко закодировать строка запроса, например:
GetMethod method = new GetMethod("http://www.example.com/page");
method.setQueryString("?key=value");
Является ли один из этих образцов предпочтительным? И почему API-расхождение между PostMethod и GetMethod? И на что все эти другие методы HttpMethodParams предназначены для использования?
я обнаружил, что это работает: метод GetMethod = новый GetMethod ("http://www.example.com/page"); method.setQueryString (новое имяValuePair [] { новое имяValuePair ("ключ", "значение") }); Это не упоминается на странице руководства. Следует ли избегать этой картины? – Ross
Хм, видимо, вы не можете помещать блоки кода в комментарии, поэтому я отредактировал свой вопрос, чтобы добавить этот пример и другие. – Ross