网站首页 > 精选教程 正文
一,原始方式
使用java.net包中的HttpURLConnection类。以下是一个简单的示例代码,用于发送GET请求并获取响应:
javaCopy code
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpGetRequestExample {
public static void main(String[] args) {
try {
// 创建URL对象
URL url = new URL("http://example.com");
// 打开连接
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 设置请求方法
connection.setRequestMethod("GET");
// 获取响应代码
int responseCode = connection.getResponseCode();
System.out.println("Response Code: " + responseCode);
// 读取响应内容
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
StringBuilder response = new StringBuilder();
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
// 打印响应内容
System.out.println("Response: " + response.toString());
// 断开连接
connection.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
}
}
上述示例代码用于发送GET请求,您可以更改请求方法和URL以适应您的实际需求。请注意,HTTP请求是不安全的,建议在实际使用中使用HTTPS来确保数据的安全传输。
二,使用Apache HttpClient库
使用Apache HttpClient库。请确保您的项目中包含了相关的依赖
示例代码:
javaCopy code
import java.io.BufferedReader;
import java.io.InputStreamReader;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
public class HttpsPostRequestExample {
public static void main(String[] args) {
try {
// 创建HttpClient对象
HttpClient httpClient = HttpClients.createDefault();
// 创建HttpPost对象,并设置URL
HttpPost httpPost = new HttpPost("https://example.com");
// 设置请求头
httpPost.setHeader("Content-Type", "application/json");
// 设置请求体
String requestBody = "{\"key1\":\"value1\",\"key2\":\"value2\"}";
StringEntity requestEntity = new StringEntity(requestBody);
httpPost.setEntity(requestEntity);
// 发送POST请求
HttpResponse response = httpClient.execute(httpPost);
// 获取响应代码
int responseCode = response.getStatusLine().getStatusCode();
System.out.println("Response Code: " + responseCode);
// 读取响应内容
BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
StringBuilder responseContent = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
responseContent.append(line);
}
reader.close();
// 打印响应内容
System.out.println("Response: " + responseContent.toString());
// 断开连接
httpClient.getConnectionManager().shutdown();
} catch (Exception e) {
e.printStackTrace();
}
}
}
上述示例代码中,我们使用了Apache HttpClient库来发送HTTPS的POST请求。您可以根据实际需求修改请求的URL、请求头、请求体等部分。请确保您的项目中包含了Apache HttpClient库的依赖。
猜你喜欢
- 2024-11-05 关于 URL,说几个你不知道的点 url各部分含义
- 2024-11-05 避免自己写的 url 被diss!建议看看这篇RESTful API简明教程!
- 2024-11-05 IntelliJ IDEA 15款 神级超级牛逼插件推荐
- 2024-11-05 学习SpringMVC——如何获取请求参数
- 2024-11-05 java验证码生成(一) java生成验证码并验证
- 2024-11-05 Nice,终于有人把SpringMVC讲明白了,太简单了...
- 2024-11-05 Java代理IP设置指南:让你的网络请求更灵活
- 2024-11-05 请说说RPC的一个请求的流程是怎么样的?
- 2024-11-05 Javaweb 演示session的URL重写 java sessionid
- 2024-11-05 springboot2.2.X手册:构建全局唯一的短链接数据中心
你 发表评论:
欢迎- 04-11Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- 04-11Java中你知道几种从字符串中找指定的字符的数量
- 04-11探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- 04-11Python字符串详解与示例(python字符串的常见操作)
- 04-11java正则-取出指定字符串之间的内容
- 04-11String s1 = new String("abc");这句话创建了几个字符串对象?
- 04-11java判断字符串中是否包含某个字符
- 04-11关于java开发中正确的发牌逻辑编写规范
- 最近发表
-
- Java面试“字符串三兄弟”String、StringBuilder、StringBuffer
- Java中你知道几种从字符串中找指定的字符的数量
- 探秘Java面试中问的最多的String、StringBuffer、StringBuilder
- Python字符串详解与示例(python字符串的常见操作)
- java正则-取出指定字符串之间的内容
- String s1 = new String("abc");这句话创建了几个字符串对象?
- java判断字符串中是否包含某个字符
- 关于java开发中正确的发牌逻辑编写规范
- windows、linux如何后台运行jar(并且显示进程名)
- 腾讯大佬私人收藏,GitHub上最受欢迎的100个JAVA库,值得学习
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)