如何使用 Powershell System.Net.WebClient 和自定义用户代理字符串下载文件?

sla*_*pha 2 powershell user-agent system.net http batch-file

我正在运行以下命令来使用 Powershell System.Net.WebClient 方法下载文件:

powershell -Command "(New-Object System.Net.WebClient).DownloadFile('https://domain.name/file.name','C:\file.name')"
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以自定义用户代理并保留单行命令格式?

我问这个问题的原因是因为该网站将请求识别为来自机器人,并且我收到了 HTTP 403 禁止错误。当我使用 Internet Explorer 时,我可以毫无问题地下载该文件。我想保留单行格式,因为该命令是从 Windows 中的批处理 (.bat) 文件调用的。

Clu*_*fin 6

此代码片段将执行自定义用户代理部分webclient

powershell -command {
    $cli = New-Object System.Net.WebClient;
    $cli.Headers['User-Agent'] = 'myUserAgentString';
    $cli.DownloadFile('https://domain.name/file.name', 'C:\file.name')
}
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,这有效: `powershell -command "$cli = New-Object System.Net.WebClient;$cli.Headers['User-Agent'] = 'myUserAgentString';$cli.DownloadFile('https://domain.名称/文件名', 'C:\文件名')"` (2认同)