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

标签 powershell http batch-file user-agent system.net

我正在运行以下命令以使用 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) 文件调用的。

最佳答案

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

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

关于powershell - 如何使用 Powershell System.Net.WebClient 和自定义用户代理字符串下载文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41819606/

相关文章:

azure - 如何强制删除具有引用的 ADF Pipeline

python - 无法使用 cgi.FieldStorage 获取 POST 值

java - 我可以在 Windows run.bat 文件中屏蔽/加密输入文本(用于前密码)吗?

windows - 在批处理文件中使用时 TaskList 命令挂起

powershell - 如何操作invoke-restmethod返回的对象?

azure - 您能否找到将计算机加入 Azure AD 的帐户名称?

powershell - 获取CPU使用率的脚本

javascript - 如何通过 NodeJS 发送带有 cookie 的 HTTP 请求?

http - 在 Lift RestHelper 中获取 currentUser

windows - 如何使用批处理/命令脚本一次从多个文件夹中删除文件名前缀?