|
|
|
@ -5,38 +5,49 @@ import java.io.InputStreamReader;
|
|
|
|
|
import java.net.HttpURLConnection;
|
|
|
|
|
import java.net.URL;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* HttpClient工具类
|
|
|
|
|
* 该类提供了执行HTTP GET请求的方法,用于从指定的URL获取数据。
|
|
|
|
|
*/
|
|
|
|
|
public class HttpClientUtils {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @param uri
|
|
|
|
|
* @return String
|
|
|
|
|
* @description get请求方式
|
|
|
|
|
* 执行HTTP GET请求并获取响应结果。
|
|
|
|
|
*
|
|
|
|
|
* @param uri 要请求的URL地址,是一个字符串形式的URI。
|
|
|
|
|
* @return 返回从服务器获取的响应内容,如果请求失败或出现异常则返回null。
|
|
|
|
|
* @description 该方法通过创建URL对象和HttpURLConnection连接,
|
|
|
|
|
* 然后从连接的输入流中读取服务器返回的数据,并将其拼接成字符串返回。
|
|
|
|
|
* @author: long.he01
|
|
|
|
|
*/
|
|
|
|
|
public static String doGet(String uri) {
|
|
|
|
|
|
|
|
|
|
// 使用StringBuilder来构建最终的响应结果字符串,因为频繁的字符串拼接操作使用StringBuilder效率更高
|
|
|
|
|
StringBuilder result = new StringBuilder();
|
|
|
|
|
try {
|
|
|
|
|
// 用于存储每一行读取到的响应数据
|
|
|
|
|
String res = "";
|
|
|
|
|
// 根据传入的URI创建URL对象
|
|
|
|
|
URL url = new URL(uri);
|
|
|
|
|
// 打开与URL的连接,并将其强转为HttpURLConnection类型,以便进行HTTP相关的操作
|
|
|
|
|
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
|
|
|
|
|
// 创建一个BufferedReader,用于从连接的输入流中读取数据,指定字符编码为UTF-8
|
|
|
|
|
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
|
|
|
|
|
// 用于存储从输入流中读取的每一行数据
|
|
|
|
|
String line;
|
|
|
|
|
// 循环读取输入流中的数据,直到读取到文件末尾(readLine()返回null表示文件末尾)
|
|
|
|
|
while ((line = in.readLine()) != null) {
|
|
|
|
|
res += line+"\n";
|
|
|
|
|
// 将读取到的每一行数据拼接起来,并添加换行符
|
|
|
|
|
res += line + "\n";
|
|
|
|
|
}
|
|
|
|
|
// 关闭BufferedReader,释放资源
|
|
|
|
|
in.close();
|
|
|
|
|
// 返回拼接好的响应结果字符串
|
|
|
|
|
return res;
|
|
|
|
|
}catch (Exception e) {
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
// 如果在请求过程中发生异常,打印异常堆栈信息
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
// 请求失败,返回null
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|