Windows PowerShell é uma plataforma de automação e script. É destinado principalmente a administradores de sistema e profissionais de TI para lidar e automatizar os processos relacionados à administração do Windows e seus aplicativos.
PowerShell compreende várias funções e comandos úteis estão disponíveis no PowerShell, que são chamados cmdlets. A versão da Microsoft de wget está disponível como um comando fundamental em PowerShell (PS) 3.0 conhecido como Invoke-Webrequest. O wget existe como um pseudônimo no Invoke-Webrequest comando.
Comando Invoke-Webrequest em PowerShell
Invoke-Webrequest é um download de rede não interativo, ou podemos dizer que é um comando que permite que um sistema baixe arquivos de qualquer site em segundo plano sem exigir que um usuário faça login. As solicitações HTTP e HTTPS são enviadas para o serviço ou página específica da Web.
Depois disso, este comando analisa a resposta de solicitação e retorna coleções de componentes HTML importantes, como imagens, links, etc. O comando Invoke-Webrequest também pode controlar solicitações com credenciais, independentemente de o local da fonte exigir que o usuário seja conectado.
Escreva o comando abaixo do seu PowerShell para ter uma melhor compreensão da solicitação de Invoke-Web, sua sintaxe e aliases:
> Invoke-webrequest -?
Uma solicitação de arquivo simples com PowerShell
Nesta seção, tentaremos executar o Invoke-Webrequest Para solicitações de arquivo. Para isso, especificaremos o URI no seguinte comando com o “-UseBasicParSing”Opção. Esta opção é usada para compatibilidade com versões anteriores. Por exemplo, em um caso em que o Internet Explorer não está instalado ou configurado.
> Invoke-webrequest http: // httpbin.org/json -sebasicparsing
O cmdlet Invoke-WebRequest retornará um objeto de resposta da Web HTML que possui muitas informações úteis sobre as propriedades de análise HTML, como conteúdo bruto, cabeçalhos, links, formulários, imagens e campos de entrada, etc.
Os administradores podem usar o comando Invoke-Webrequest para transportar dados sobre redes e serviços de teste via Internet. Enquanto o WGE foi criado com condições de rede variadas, tornando -o excelente para conexões não confiáveis e sistemas lentos. No PowerShell, o comando "wget" pode ser usado para extrair um objeto da web html, como:
Fora isso, qualquer diferente wget A execução do comando mostrará o seguinte erro em seu PowerShell:
Então, é melhor utilizar “Invoke-WebrequesT ”para o mesmo propósito, que usa“wget”Como um pseudônimo.
Extraindo links em PowerShell
Você também pode utilizar Invoke-Webrequest Para extrair uma lista de links que existem em um específico arquivo da web. ““-Uri”A opção é usada para declarar o identificador de recursos uniformes (URI) do seu recurso da Internet. Agora, verifique o comando abaixo:
> (Invoke -webrequest -uri "https: // aka.ms/pscore6 -doutor
).Links.Href
Baixe qualquer arquivo do site com PowerShell
Vimos o método de solicitar um arquivo e extrair links da web usando Invoke-Webrequest. Agora, avançaremos para baixar um arquivo completo do URI especificado. Vamos executar um script de PowerShell para esse fim. Então, abra seu Windows PowerShell Ise e crie um novo arquivo.
Depois disso, escreva o código abaixo do seu script PowerShell. Especifique o URI no “$ fonte" variável. ““$ destino”Indica o caminho em que esse arquivo será colocado após o download. ““-Saída”A opção é usada para especificar o arquivo de saída no qual o comando Invoke-Webrequest salvará sua resposta.
$ fonte = 'http: // speedtest.Tele2.net/10MB.fecho eclair'
$ destino = 'e: \ Download \ 10MB.fecho eclair'
Invoke -webrequest -uri $ fonte -Outfile $ Destination
Salve o arquivo como “testfile1.ps1”, E execute este script PowerShell.
A saída sem erros declara que o arquivo é baixado com sucesso. Para confirmar a presença do arquivo, use o “Get-Childitem”Cmdlet para visualizar o conteúdo da pasta especificada:
> Get-Childitem “E: \ Download”
Enviando solicitações da Web com PowerShell
Agora, escreveremos um script para enviar uma solicitação da web para o site “Bing.com.O Comando Invoke-Webrequest emitirá a solicitação para o site especificado. Depois disso, a resposta do site será salva no “$ Resposta" variável.
O próximo comando extrairá os valores arquivados de entrada e os transmitirá para o Selecionar objeto Usando o operador de tubo [“|”].
$ Resposta = Invoke -Webrequest -uri https: // www.Bing.com/pesquisa?q = como+++pés+em+a+milha
$ Resposta.InputFields | Onde-objeto
$ _.Nome -como "* valor*"
| Nome de objeto de seleção, valor
Execução do “testFile2.PS1 ”mostrará a seguinte saída:
Se você receber o erro mostrado na saída abaixo, use o “-UseBasicParSing”Opção depois de especificar o URI no comando Invoke-Webrequest.
$ Resposta = Invoke -Webrequest -uri https: // www.Bing.com/pesquisa?Q = Como+++pés+em+a+milha -usebasicparsing
$ Resposta.InputFields | Onde-objeto
$ _.Nome -como "* valor*"
| Nome de objeto de seleção, valor
Agora, execute o mesmo script com as alterações mencionadas e você obterá a saída sem erros.
Conclusão
A maioria dos usuários fica cansada baixando os arquivos clicando repetidamente. Este processo também requer seu engajamento e tempo precioso. Agora você pode usar Powershell Para automatizar este procedimento de download que ajuda você a ser mais produtivo e permite que você se envolva em outras atividades quando seus arquivos estão baixando.
PowerShell fornece vários comandos úteis conhecidos como cmdlets; Invoke-Webrequest é um deles. Você pode executar o WGET da PowerShell, que é um pseudônimo para o comando Invoke-Webrequest. Este artigo mostrou os métodos para solicitar, enviar e baixar um arquivo da web, extraindo links da web.