Uri uri = new Uri.Builder()
.scheme("http")
.authority("foo.com")
.path("someservlet")
.appendQueryParameter("param1", foo)
.appendQueryParameter("param2", bar)
.build();
List<NameValuePair> listOfParameters = ...;
URI uri = new URIBuilder("http://example.com:8080/path/to/resource?mandatoryParam=someValue")
.addParameter("firstParam", firstVal)
.addParameter("secondParam", secondVal)
.addParameters(listOfParameters)
.build();
否则,您可以显式指定所有参数:
URI uri = new URIBuilder()
.setScheme("http")
.setHost("example.com")
.setPort(8080)
.setPath("/path/to/resource")
.addParameter("mandatoryParam", "someValue")
.addParameter("firstParam", firstVal)
.addParameter("secondParam", secondVal)
.addParameters(listOfParameters)
.build();
一旦创建了 URI 对象,那么您只需创建 HttpGet 对象并执行它:
//create GET request
HttpGet httpGet = new HttpGet(uri);
//perform request
httpClient.execute(httpGet ...//additional parameters, handle response etc.
4
方法
setParams()
喜欢
httpget.getParams().setParameter("http.socket.timeout", new Integer(5000));
只添加HttpProtocol参数 .
要执行httpGet,您应该手动将参数附加到网址
HttpGet myGet = new HttpGet("http://foo.com/someservlet?param1=foo¶m2=bar");
7 回答
我使用NameValuePair和URLEncodedUtils列表来创建我想要的url字符串 .
要使用get参数构建uri,Uri.Builder提供了一种更有效的方法 .
从HttpComponents
4.2+
开始,有一个新类URIBuilder,它提供了生成URI的便捷方法 .您可以直接从String URL使用create URI:
否则,您可以显式指定所有参数:
一旦创建了
URI
对象,那么您只需创建HttpGet
对象并执行它:方法
喜欢
只添加HttpProtocol参数 .
要执行httpGet,您应该手动将参数附加到网址
或者如果您有兴趣,可以使用帖子请求解释获取和发布请求之间的差异here
URI javadoc
注意:
url = new URI(...)
是马车如果你有
URL
我建议使用基于apache http的简化http-request .您可以按如下方式构建客户端:
注意:有许多有用的方法可以处理您的响应 .