调用WebRequest以使用可选代理

时间:2019-07-11 01:09:58

标签: powershell

复制Invoke-WebRequest以涵盖代理与无代理的情况

我有一个需要使用代理或不使用代理的脚本。当前,在我调用Invoke-WebRequest的任何地方,我必须有两行代码。如果指定了代理,则呼叫一行,如果未指定代理,则呼叫另一行。我希望能够在任何地方使用一个呼叫,并且只要指定了代理,就可以将代理内容附加到该呼叫上。

    if ($Proxy) {
      Invoke-WebRequest -Uri $url -OutFile $tv_download -Proxy $Proxy -ProxyUseDefaultCredentials 
    }
    else {
        Invoke-WebRequest -Uri $url -OutFile $tv_download
    }

编辑,我确实找到了一种方法来执行此操作,但是如果您有其他方法,请告诉我。首先,在脚本开头定义一次$ proxyInfo。

    if($Proxy) {$proxyInfo = @{ Proxy = $Proxy; ProxyUseDefaultCredentials = $true} } else {$proxyInfo = @{}} 

随后,使用以下一行代码在整个脚本中调用Invoke-WebRequest:

    Invoke-WebRequest -Uri $url -OutFile $tv_download @proxyInfo

0 个答案:

没有答案