说明
- URLConnection
- HttpURLConnection extends URLConnection
Demo 请求API,不用发送参数
| |
| URL url = new URL("https://api") |
| |
| HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection() |
| |
| urlConnection.setRequestMethod("GET") |
| |
| urlConnection.inputStream.withReader("UTF-8", { |
| Reader reader -> println(reader.text) } |
| ) |
Demo 请求API,发送参数
| URL baseUrl = new URL('https://api/') |
| HttpURLConnection connection = (HttpURLConnection)baseUrl.openConnection() |
| |
| connection.setRequestMethod("POST") |
| |
| connection.setDoOutput(true) |
| |
| connection.setRequestProperty("Content-Type","application/json") |
| |
| connection.outputStream.withWriter { java.io.Writer writer -> writer << params} |
| |
| filebyte = connection.inputStream.getBytes() |
理解
| URL baseUrl = new URL("http://www.duchaoqun.cn") |
| HttpURLConnection connection = (HttpURLConnection) baseUrl.openConnection() |
| connection.setRequestMethod("GET") |
| connection.setDoInput(true) |
| def fileBytes = connection.inputStream.getBytes() |
| GET/POST请求,不需要参数时,当我们需要通过这个URL连接从服务器获取数据到本地内存,就要设置DoInput为true(默认为true)。 |
| connection.setDoOutput(true) |
| connection.outputStream.withWriter {...} |
| POST请求,需要参数时,我们要从内存给远程一些参数,就需要设置DoOutput为true(默认为false),然后给它输出一些参数。 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?