您可以使用URIBuilder對象
URIBuilder builder = new URIBuilder("http://example.com/");
builder.setParameter("var1", "value1").setParameter("var2", "value2");
HttpGet request = new HttpGet(builder.build());
// get back the url parameters
List<NameValuePair> params = builder.getQueryParams();
我覺得你是一個有點困惑來自客戶端的getParams()
方法或列舉HTTPMethod,getParams()
不會返回URL參數或類似的東西,返回客戶端parameteres例如連接超時,代理,cookies ......等
在4.3.2之前,您可以使用getParams()
方法(現在不推薦使用)將參數設置爲客戶端,在4.3.2之後,您可以通過RequestConfig
類設置請求參數使用Builder
Builder requestConfigBuilder = RequestConfig.custom();
requestConfigBuilder.setConnectionRequestTimeout(1000).setMaxRedirects(1);
,然後設置爲HttpMethod
只(不象以前的客戶端)
request.setConfig(requestConfigBuilder.build());
更新:
如果你想從一個HttpGet
或HttPost
得到URI參數請求對象,您可以以相同的方式使用URIBuilder
HttpGet request = new HttpGet("http://example.com/?var=1&var=2");
URIBuilder newBuilder = new URIBuilder(request.getURI());
List<NameValuePair> params = newBuilder.getQueryParams();
感謝您的評論,但正如我所說,我不明白這些信息的含義。我不知道如何檢索「配置API的構造函數參數」。 通過你的評論我明白這是一個非常簡單的操作,你能否提供一個簡短的例子來說明從哪裏開始? – donnadulcinea
那麼,當你遵循Javadoc時,這很簡單,是的;然而,你似乎在混合的東西 - 'HttpParams' _does not_返回查詢字符串的任何內容。 – fge