使用 Apache 的 commons-httpclient for Java,将查询参数添加到 GetMethod 实例的最佳方法是什么?如果我使用 PostMethod,它非常简单:
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");
这些模式之一是首选吗?为什么 PostMethod 和 GetMethod 之间的 API 存在差异?所有其他 HttpMethodParams 方法打算用于什么?