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

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

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

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

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

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

【问题讨论】:

    标签: sql api ssrs-2008 data-warehouse dotnet-httpclient


    【解决方案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中的例子。
    猜你喜欢
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-16
    • 1970-01-01
    • 1970-01-01
    • 2016-07-22
    相关资源
    最近更新 更多