Com base na descoberta de que apenas o Firefox fez solicitações com o IP% público xxx.yyy.141.183
correto, enquanto o IE e o Chrome não, encontrei a seguinte solução:
- O fato de diferentes navegadores se comportarem de maneira diferente implica que o problema não está diretamente relacionado ao PowerShell, mas decorre das configurações de proxy.
- Percebi que o Firefox estava configurado para "usar as configurações de proxy do sistema". Quando eu mudei isso para "detectar as configurações de proxy para a rede automaticamente" (tradução aproximada, desculpe), o Firefox (assim como o IE e Chrome) produziu pedidos com o
xxx.yyy.51.111
IP. - A partir disso, concluí que o PowerShell deve estar usando uma configuração que faz com que ele detecte as configurações de proxy automaticamente. Essa conjectura é confirmada pelo documentação :
The Proxy property identifies the IWebProxy instance that communicates with remote servers on behalf of this WebClient object.The proxy is set by the system using configuration files and the Internet Explorer Local Area Network settings.To specify that no proxy should be used, set the Proxy property to the proxy instance returned by the GetEmptyWebProxy method.
-
Como não quero alterar a configuração do sistema e, como
GlobalProxySelection.GetEmptyWebProxy
foi descontinuado, agora uso com êxito a solução proposta aqui : simplesmente defina a propriedadeproxy
comonull
.$wc = New-Object System.Net.WebClient $wc.Proxy = $null $wc.DownloadString("http://example.net/myscript.php")