有啥方法可以将 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 响应作为文件保存到本地计算机磁盘的主要内容,如果未能解决你的问题,请参考以下文章