长话短说,废话不说
一、第一种方式,通过HttpClient方式,代码如下:
java" id="highlighter_474973">
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
throws HttpException, IOException {
String json = null ;
HttpGet httpGet = new HttpGet();
// 设置参数
try {
httpGet.setURI( new URI(url));
} catch (URISyntaxException e) {
}
// 发送请求
HttpResponse httpResponse = client.execute(httpGet);
// 获取返回的数据
HttpEntity entity = httpResponse.getEntity();
byte [] body = EntityUtils.toByteArray(entity);
StatusLine sL = httpResponse.getStatusLine();
int statusCode = sL.getStatusCode();
if (statusCode == 200 ) {
json = new String(body, charset);
entity.consumeContent();
} else {
throw new HttpException( "statusCode=" +statusCode);
}
return json;
}
|
二、第二种方式,通过流的形式,贴代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
/**
* 发送http get请求
*
* @param getUrl
* @return
*/
public String sendGetRequest(String getUrl)
{
StringBuffer sb = new StringBuffer();
InputStreamReader isr = null ;
BufferedReader br = null ;
try
{
URL url = new URL(getUrl);
URLConnection urlConnection = url.openConnection();
urlConnection.setAllowUserInteraction( false );
isr = new InputStreamReader(url.openStream());
br = new BufferedReader(isr);
String line;
while ((line = br.readLine()) != null )
{
sb.append(line);
}
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
fileOperator.closeResources(isr, br);
}
return sb.toString();
}
}
|
这两种实现方式不同,怎么使用看个人喜好吧,不过我在项目开发过程中,使用流的方式部署在预发机(linux机器)上会出现返回null的情况,但是本地windows却正常访问,而且,换另外一台预发机也能正常获取数据,目前还没有研究出个所以然。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。