以下Google Doc导出为CSV,然后使用标准的Web浏览器自动下载: https://docs.google.com/spreadsheets/d/1wDD_Xm8IQYuYNefv9cOJ_7afTLImHgYA05pfN3qY63E/export?format=csv
我正在尝试使用Powershell下载此文件而没有成功。我尝试使用Invoke-Webrequest,Start-BitsTransfer和webrequest对象,但没有运气。
已编辑:网址已更改。
答案 0 :(得分:13)
Invoke-WebRequest
带有一个参数,用于将其结果存储在文件中:-OutFile
Invoke-WebRequest URL -OutFile c:\file.ext
如果需要授权,则可以发送如下请求:
Invoke-WebRequest URL /* whatever is neccesary to login */ -SessionVariable MySession
Invoke-WebRequest URL -WebSession $MySession
要确定登录发生的表单的布局,可以使用Invoke-WebRequests返回对象。它将收集有关HTML上的表单和字段的信息(可能仅适用于Windows)。登录里程可能会因“两因素身份验证”有效与否而有所不同。可能您可以创建一些不需要Auth的文件的秘密链接,或者google可能允许您创建某种形式的私有访问令牌,可以将其随请求发送给Authorization-Header。
答案 1 :(得分:3)
TLDR 答案*:
方法一,默认同步**
Invoke-WebRequest $url -OutFile $path_to_file
方法二,默认同步**
(New-Object System.Net.WebClient).DownloadFile($url, $path_to_file)
方法 3,异步且可能不是立即的,使用 BITS service
Import-Module BitsTransfer
Start-BitsTransfer -Source $url -Destination $path_to_file
注意事项:
*:此答案适用于那些在 google 上搜索“如何使用 PowerShell 下载文件”的人。
**:如果需要异步下载,请阅读帮助页面