有啥方法可以将 API 响应作为文件保存到本地计算机磁盘

Posted

技术标签:

【中文标题】有啥方法可以将 API 响应作为文件保存到本地计算机磁盘【英文标题】:Is there any way to save API response as a file to local computer disk有什么方法可以将 API 响应作为文件保存到本地计算机磁盘 【发布时间】:2019-11-06 03:20:00 【问题描述】:

对 API 不是很熟悉,在网上也没有得到太多帮助。

我正在使用 SQL 查询和 s-s-rS 创建一些报告。大多数应用程序都将 SQL Server 作为其数据库,但有一个应用程序仅提供 API 接口。我正在尝试将这些数据也下载到本地 SQL Server 数据库以生成报告。

目前,要查看数据,我必须下载并使用 HTTP 客户端工具。我使用Postman 创建了授权令牌,可以看到 Jason 格式的数据使用 GET 请求出现在 Postman 控制台中。

但我需要每天将这些数据作为文件(最好是 CSV)下载到本地文件夹,这样我就可以轻松地将其推送到 SQL Server。

有什么方法可以完成这个响应并保存为文件?尽量避免使用第三方工具来自动执行此操作。

【问题讨论】:

【参考方案1】:

如果您想避免安装任何其他软件并且您使用的是 Windows 计算机,则可以使用 PowerShell 为您自动执行此操作。

Invoke-WebRequest cmdlet 将 HTTP 和 HTTPS 请求发送到网页或 Web 服务。它解析响应并返回链接、图像和其他重要 html 元素的集合。此 cmdlet 是在 PowerShell 3.0 中引入的。

下面是一个示例脚本,可以帮助您入门:

$url = "https://jsonplaceholder.typicode.com/posts/1"
$response = Invoke-WebRequest $url -Method Get
$response.Content | Out-File -FilePath .\ResponseContent.json

我希望这会有所帮助!

【讨论】:

谢谢。但是一个授权问题是:首先我需要使用 POST 方法使用用户名和密码生成一个令牌。然后需要在后续的 GET 请求中使用该令牌来获取数据。 Invoke-WebRequest cmdlet 允许您发送 Post 请求并配置与 Post 请求一起发送的标头和正文。看看docs中的例子。

以上是关于有啥方法可以将 API 响应作为文件保存到本地计算机磁盘的主要内容,如果未能解决你的问题,请参考以下文章

将 Postman 中的 API 响应保存到文件中

将Postman中的API响应保存到文件中

在 Web API 响应中添加 zip 文件作为内容,下载时文件大小加倍

如何将谷歌视觉 API 响应保存到可处理的文件中

如何存储 JSON 响应并保存到 JSON 文件中

将大型 JSON 直接从 Java 中的 REST API 响应流保存为文本