Android 自带网络请求库为 HttpURLConnection,可通过以下步骤使用:
- 创建 URL 对象,指定请求的 URL 地址。
- 打开 URL 连接,获得 HttpURLConnection 对象,设置请求方法和其他请求头参数。
- 获取输出流,向服务器发送请求参数(POST 请求需要)。
- 获得输入流,读取服务器响应的数据。
- 关闭 HttpURLConnection 和输入输出流。
代码示例:
URL url = new URL("http://www.example.com/api");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setRequestProperty("Content-Type", "application/json");
connection.setRequestProperty("Authorization", "Bearer your_access_token");
InputStream inputStream = connection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String line;
StringBuilder stringBuilder = new StringBuilder();
while ((line = bufferedReader.readLine()) != null) {
stringBuilder.append(line);
}
String response = stringBuilder.toString();
bufferedReader.close();
inputStream.close();
connection.disconnect();
Android自带有网络请求的功能,可以使用Java自带的HttpURLConnection或OkHttp库来发送网络请求。
HttpURLConnection是Java自带的HTTP请求库,可以用来进行HTTP请求和响应。使用HttpURLConnection,可以手动设置HTTP请求头、请求方法、请求体以及传输数据等。下面是一个使用HttpURLConnection发送GET请求的示例代码:
try {
URL url = new URL("http://www.example.com");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("User-Agent", "Mozilla/5.0");
int responseCode = conn.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
BufferedReader in = new BufferedReader(new InputStreamReader(
conn.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
// 处理响应
}
} catch (IOException e) {
e.printStackTrace();
}
OkHttp是一种开源的HTTP客户端,可以自动管理HTTP请求和响应的连接池、请求头、响应解析等。OkHttp相对于HttpURLConnection,更易使用和更加高效。以下是一个使用OkHttp发送GET请求的示例代码:
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("http://www.example.com")
.build();
Response response = client.newCall(request).execute();
if (response.isSuccessful()) {
String responseStr = response.body().string();
// 处理响应
}
总之,Android自带的HttpURLConnection和第三方库OkHttp都可以用来进行网络请求。具体使用哪个库,取决于开发者自己的需求和喜好。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/158577.html