Android studio利用httpurlconnection发送请求
时间: 2024-03-15 18:42:13 浏览: 86
在 Android Studio 中,可以使用 HttpUrlConnection 类来发送网络请求。下面是一个简单的示例代码,演示如何使用 HttpUrlConnection 发送 GET 请求:
```java
public class HttpUrlConnectionExample {
public static void main(String[] args) {
try {
URL url = new URL("http://example.com/api/data");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.connect();
if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
InputStream inputStream = conn.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String line;
StringBuilder result = new StringBuilder();
while ((line = bufferedReader.readLine()) != null) {
result.append(line);
}
bufferedReader.close();
inputStream.close();
String responseData = result.toString();
// 解析响应数据
System.out.println(responseData);
}
conn.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
其中,URL 表示请求地址,HttpURLConnection 类可以使用 openConnection() 方法打开连接,设置请求方法为 GET,并调用 connect() 方法建立连接。如果响应状态码为 HTTP_OK,则读取响应数据并进行解析。
发送 POST 请求时,需要设置请求方法为 POST,并设置请求数据。示例如下:
```java
public class HttpUrlConnectionExample {
public static void main(String[] args) {
try {
URL url = new URL("http://example.com/api/data");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setDoOutput(true);
conn.setDoInput(true);
OutputStream outputStream = conn.getOutputStream();
String requestData = "key1=value1&key2=value2";
outputStream.write(requestData.getBytes());
outputStream.close();
conn.connect();
if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
InputStream inputStream = conn.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String line;
StringBuilder result = new StringBuilder();
while ((line = bufferedReader.readLine()) != null) {
result.append(line);
}
bufferedReader.close();
inputStream.close();
String responseData = result.toString();
// 解析响应数据
System.out.println(responseData);
}
conn.disconnect();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
其中,setDoOutput(true) 表示请求数据可以写入请求体,setDoInput(true) 表示响应数据可以读取。将请求数据写入 OutputStream,并调用 connect() 方法建立连接。
阅读全文
相关推荐


















