你在尋找HTTP參數還是URI參數?
的HTTP參數之類的東西的用戶代理,插座緩衝區大小,協議版本,等等
的URI參數是得到作爲請求的一部分,例如通過客戶端值
?param1=value1¶m2=value2
如果你正在尋找的URI參數,嘗試這樣的事情:
List<String> uriParams = Arrays.asList(request.getURI().getQuery().split("&"));
但是,如果你想在原始HTTP參數,可以是一個有點複雜,因爲的HttpParams的並非所有的實現支持getNames()
。你必須這樣做:
HttpParamsNames params = (HttpParamsNames)request.getParams();
Set<String> names;
if (params instanceof ClientParamsStack) {
names = new HashSet<>();
// Sorted by priority, see ClientParamsStack
ClientParamsStack cps = (ClientParamsStack)params;
if (cps.getApplicationParams() != null) {
names.addAll(((HttpParamsNames)cps.getApplicationParams()).getNames());
}
if (cps.getClientParams() != null) {
names.addAll(((HttpParamsNames)cps.getClientParams()).getNames());
}
if (cps.getRequestParams() != null) {
names.addAll(((HttpParamsNames)cps.getRequestParams()).getNames());
}
if (cps.getOverrideParams() != null) {
names.addAll(((HttpParamsNames)cps.getOverrideParams()).getNames());
}
} else {
names = params.getNames();
}
for (String name : names) {
System.out.println(name + ": " + request.getParams().getParameter(name));
}
在什麼包是你的HttpUriRequest? – smas 2011-02-28 17:55:48
import org.apache.http.client.methods.HttpUriRequest; – user291701 2011-02-28 17:57:16