| 
 | 
 
可以使用 Apache HttpComponents 的 HttpClient 在 Kotlin 中执行 HTTP 请求。下面是一个简单的示例,展示了如何使用 HttpClient 发送 GET 和 POST 请求。 
首先,确保你已经在项目的 build.gradle.kts 文件中添加了 HttpComponents 的依赖- dependencies {
 
 -     implementation("org.apache.httpcomponents:httpclient:4.5.13")
 
 - }
 
 
  复制代码 接下来,编写 Kotlin 代码来发送 HTTP 请求 
- import org.apache.http.HttpEntity
 
 - import org.apache.http.HttpResponse
 
 - import org.apache.http.client.methods.HttpGet
 
 - import org.apache.http.client.methods.HttpPost
 
 - import org.apache.http.entity.StringEntity
 
 - import org.apache.http.impl.client.CloseableHttpClient
 
 - import org.apache.http.impl.client.HttpClients
 
 - import org.apache.http.util.EntityUtils
 
 - import java.io.IOException
 
  
- fun main() {
 
 -     // 创建一个CloseableHttpClient实例
 
 -     val httpClient: CloseableHttpClient = HttpClients.createDefault()
 
  
-     // 发送GET请求
 
 -     sendGetRequest(httpClient, "http://example.com")
 
  
-     // 发送POST请求
 
 -     sendPostRequest(httpClient, "http://example.com/api", "{"key":"value"}")
 
  
-     // 关闭HttpClient实例
 
 -     try {
 
 -         httpClient.close()
 
 -     } catch (e: IOException) {
 
 -         e.printStackTrace()
 
 -     }
 
 - }
 
  
- fun sendGetRequest(httpClient: CloseableHttpClient, url: String) {
 
 -     val httpGet: HttpGet = HttpGet(url)
 
 -     try {
 
 -         val response: HttpResponse = httpClient.execute(httpGet)
 
 -         val entity: HttpEntity = response.entity
 
 -         val responseBody: String = EntityUtils.toString(entity, "UTF-8")
 
 -         println("GET Response Status: ${response.statusLine}")
 
 -         println("GET Response Body: $responseBody")
 
 -     } catch (e: IOException) {
 
 -         e.printStackTrace()
 
 -     }
 
 - }
 
  
- fun sendPostRequest(httpClient: CloseableHttpClient, url: String, json: String) {
 
 -     val httpPost: HttpPost = HttpPost(url)
 
 -     httpPost.setHeader("Content-Type", "application/json")
 
 -     httpPost.entity = StringEntity(json, "UTF-8")
 
 -     try {
 
 -         val response: HttpResponse = httpClient.execute(httpPost)
 
 -         val entity: HttpEntity = response.entity
 
 -         val responseBody: String = EntityUtils.toString(entity, "UTF-8")
 
 -         println("POST Response Status: ${response.statusLine}")
 
 -         println("POST Response Body: $responseBody")
 
 -     } catch (e: IOException) {
 
 -         e.printStackTrace()
 
 -     }
 
 - }
 
 
  复制代码 代码说明: 
1、创建 HttpClient 实例 
 
-    val httpClient: CloseableHttpClient = HttpClients.createDefault()
 
 
  复制代码 2、发送 GET 请求: 
创建一个 HttpGet 对象,并传入请求的 URL。 
使用 httpClient.execute 方法执行请求。 
使用 EntityUtils.toString 方法将响应实体转换为字符串并打印。 
 
3、发送 POST 请求: 
创建一个 HttpPost 对象,并传入请求的 URL。 
设置请求头 Content-Type 为 application/json。 
创建一个 StringEntity 对象,并传入 JSON 数据。 
使用 httpClient.execute 方法执行请求。 
使用 EntityUtils.toString 方法将响应实体转换为字符串并打印。 
 
4、关闭 HttpClient 实例: 
在请求完成后,关闭 CloseableHttpClient 实例以释放资源。 
这个示例展示了如何使用 Apache HttpComponents 的 HttpClient 在 Kotlin 中发送 GET 和 POST 请求。你可以根据需要修改 URL 和请求数据 
 
 |   
 
 
 
 |