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

问题描述 投票:0回答:2

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

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

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

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

powershell http batch-file user-agent system.net
2个回答
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')
}

0
投票

这是为 Chrome 指定用户代理的方法

$wc = New-Object System.Net.WebClient
$wc.Headers['User-Agent'] = 'chrome';
$wc.DownloadFile($url, $output)
© www.soinside.com 2019 - 2024. All rights reserved.