Invoke-WebRequest
Obtém conteúdo de uma página da web na Internet.
Sintaxe
Default (Default)
Invoke-WebRequest
[-UseBasicParsing]
[-Uri] <Uri>
[-WebSession <WebRequestSession>]
[-SessionVariable <String>]
[-Credential <PSCredential>]
[-UseDefaultCredentials]
[-CertificateThumbprint <String>]
[-Certificate <X509Certificate>]
[-UserAgent <String>]
[-DisableKeepAlive]
[-TimeoutSec <Int32>]
[-Headers <IDictionary>]
[-MaximumRedirection <Int32>]
[-Method <WebRequestMethod>]
[-Proxy <Uri>]
[-ProxyCredential <PSCredential>]
[-ProxyUseDefaultCredentials]
[-Body <Object>]
[-ContentType <String>]
[-TransferEncoding <String>]
[-InFile <String>]
[-OutFile <String>]
[-PassThru]
[<CommonParameters>]
Description
O cmdlet Invoke-WebRequest envia solicitações HTTP, HTTPS, FTP e FILE para uma página da Web ou serviço Web. Ele analisa a resposta e retorna coleções de formulários, links, imagens e outros elementos HTML significativos.
Esse cmdlet foi introduzido no Windows PowerShell 3.0.
Aviso
Por padrão, Invoke-WebRequest analisa o conteúdo da página da Web. O código de script na página da Web pode ser executado quando a página é analisada. Em 9 de dezembro de 2025, a Microsoft lançou uma atualização de segurança para CVE-2025-54100 que altera o comportamento padrão de Invoke-WebRequest. Depois de instalar as atualizações, ao usar o Invoke-WebRequest comando, você verá o seguinte prompt de confirmação com aviso de segurança sobre o risco de execução de script:
Security Warning: Script Execution Risk
Invoke-WebRequest parses the content of the web page. Script code in the web page might be
run when the page is parsed.
RECOMMENDED ACTION:
Use the -UseBasicParsing switch to avoid script code execution.
Do you want to continue?
Para evitar o prompt de confirmação, você deve usar o parâmetro UseBasicParsing . Não há como ignorar esse prompt sem usar o parâmetro UseBasicParsing . Se você responder "Y" ao prompt, o comando será executado com a análise completa do conteúdo da página da Web, que pode executar o código de script na página da Web.
Para obter mais informações sobre essa atualização de segurança, consulte o PowerShell 5.1: impedindo a execução de script do conteúdo da Web.
Esse comando pode ser executado usando o aliases ou iwr o curlaliaseswget.
Exemplos
Exemplo 1: Enviar uma solicitação da Web
Este exemplo usa o cmdlet Invoke-WebRequest para enviar uma solicitação da Web para o site Bing.com.
$Response = Invoke-WebRequest -UseBasicParsing -Uri https://www.bing.com?q=how+many+feet+in+a+mile
$Response.InputFields |
Where-Object Name -Like "* Value" |
Select-Object Name, Value
Name Value
---- -----
From Value 1
To Value 5280
Os dados retornados por Invoke-WebRequest são armazenados na $Response variável. A propriedade InputFields da resposta contém os campos de formulário.
Where-Object é usado para filtrar os campos de formulário para aqueles em que a propriedade Name é como "* Value". Os resultados filtrados são canalizados para Select-Object para selecionar as propriedades de Nome do e Valor.
Exemplo 2: usar um serviço Web com estado
Este exemplo mostra como usar o cmdlet Invoke-WebRequest com um serviço Web com estado, como o Facebook.
$R = Invoke-WebRequest https://www.facebook.com/login.php -SessionVariable fb
# This command stores the first form in the Forms property of the $R variable in the $Form variable.
$Form = $R.Forms[0]
# This command shows the fields available in the form.
$Form.Fields
Key Value
--- -----
...
email
pass
...
# These commands populate the username and password of the respective form fields.
$Form.Fields["email"]="User01@Fabrikam.com"
$Form.Fields["pass"]="P@ssw0rd"
# This command creates the Uri that will be used to log in to facebook.
# The value of the Uri parameter is the value of the Action property of the form.
$Uri = "https://www.facebook.com" + $Form.Action
# Now the Invoke-WebRequest cmdlet is used to sign into the Facebook web service.
# The WebRequestSession object in the $FB variable is passed as the value of the WebSession parameter.
# The value of the Body parameter is the hash table in the Fields property of the form.
# The value of the *Method* parameter is POST. The command saves the output in the $R variable.
$R = Invoke-WebRequest -Uri $Uri -WebSession $FB -Method Post -Body $Form.Fields
$R.StatusDescription
O primeiro comando usa o cmdlet Invoke-WebRequest para enviar uma solicitação de entrada. O comando especifica um valor de "FB" para o valor do parâmetro SessionVariable e salva o resultado na variável $R. Quando o comando é concluído, a variável
Depois que o cmdlet Invoke-WebRequest entrar no facebook, a propriedade StatusDescription do objeto de resposta da Web na variável $R indica que o usuário está conectado com êxito.
Exemplo 3: Obter links de uma página da Web
Esse comando obtém os links em uma página da Web.
(Invoke-WebRequest -Uri "https://devblogs.microsoft.com/powershell/").Links.Href
O cmdlet Invoke-WebRequest obtém o conteúdo da página da Web. Em seguida, a propriedade links
Exemplo 4: capturar mensagens sem êxito de Invoke-WebRequest
Quando Invoke-WebRequest encontra uma mensagem HTTP sem êxito (404, 500 etc.), ela não retorna nenhuma saída e gera um erro de encerramento. Para capturar o erro e exibir o StatusCode você pode colocar a execução em um bloco de try/catch.
try
{
$Response = Invoke-WebRequest -Uri "www.microsoft.com/unkownhost"
# This will only execute if the Invoke-WebRequest is successful.
$StatusCode = $Response.StatusCode
}
catch
{
$StatusCode = $_.Exception.Response.StatusCode.value__
}
$StatusCode
404
O erro de término é capturado pelo bloco catch, que recupera o StatusCode do objeto Exception.
Exemplo 5: Baixar vários arquivos ao mesmo tempo
O cmdlet Invoke-WebRequest só pode baixar um arquivo por vez. O exemplo a seguir usa Start-ThreadJob para criar vários trabalhos de thread para baixar vários arquivos ao mesmo tempo.
$baseUri = 'https://github.com/PowerShell/PowerShell/releases/download'
$files = @(
@{
Uri = "$baseUri/v7.3.0-preview.5/PowerShell-7.3.0-preview.5-win-x64.msi"
OutFile = 'PowerShell-7.3.0-preview.5-win-x64.msi'
},
@{
Uri = "$baseUri/v7.3.0-preview.5/PowerShell-7.3.0-preview.5-win-x64.zip"
OutFile = 'PowerShell-7.3.0-preview.5-win-x64.zip'
},
@{
Uri = "$baseUri/v7.2.5/PowerShell-7.2.5-win-x64.msi"
OutFile = 'PowerShell-7.2.5-win-x64.msi'
},
@{
Uri = "$baseUri/v7.2.5/PowerShell-7.2.5-win-x64.zip"
OutFile = 'PowerShell-7.2.5-win-x64.zip'
}
)
$jobs = @()
foreach ($file in $files) {
$jobs += Start-ThreadJob -Name $file.OutFile -ScriptBlock {
$params = $Using:file
Invoke-WebRequest @params
}
}
Write-Host "Downloads started..."
Wait-Job -Job $jobs
foreach ($job in $jobs) {
Receive-Job -Job $job
}
Observação
Para usar o Start-ThreadJob cmdlet, você deve instalar o módulo ThreadJob da Galeria do PowerShell.
Parâmetros
-Body
Especifica o corpo da solicitação. O corpo da solicitação é o conteúdo que segue os cabeçalhos.
Você também pode redirecionar um valor de corpo para Invoke-WebRequest.
O parâmetro Body pode ser usado para especificar uma lista de parâmetros de consulta ou especificar o conteúdo da resposta.
Quando a entrada é uma solicitação GET e o corpo é um IDictionary (normalmente, uma tabela de hash), o corpo é adicionado ao URI como parâmetros de consulta. Para outros tipos de solicitação (como POST), o corpo é definido como o valor do corpo da solicitação no formato padrão name=value .
Quando o corpo é um formulário ou é a saída de uma chamada Invoke-WebRequest, o PowerShell define o conteúdo da solicitação para os campos de formulário.
Por exemplo:
$r = Invoke-WebRequest https://website.com/login.aspx
$r.Forms[0].Name = "MyName"
$r.Forms[0].Password = "MyPassword"
Invoke-RestMethod https://website.com/service.aspx -Body $r
- ou -
Invoke-RestMethod https://website.com/service.aspx -Body $r.Forms[0]
Propriedades do parâmetro
| Tipo: | Object |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | True |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Certificate
Especifica o certificado do cliente usado para uma solicitação da Web segura. Insira uma variável que contenha um certificado ou um comando ou expressão que obtém o certificado.
Para localizar um certificado, use Get-PfxCertificate ou use o cmdlet Get-ChildItem na unidade Certificado (Cert:). Se o certificado não for válido ou não tiver autoridade suficiente, o comando falhará.
Propriedades do parâmetro
| Tipo: | X509Certificate |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-CertificateThumbprint
Especifica o certificado de chave pública digital (X509) de uma conta de usuário que tem permissão para enviar a solicitação. Insira a impressão digital do certificado.
Os certificados são usados na autenticação baseada em certificado do cliente. Os certificados só podem ser mapeados apenas para contas de usuário locais, não para contas de domínio.
Para ver a impressão digital do certificado, use o comando Get-Item ou Get-ChildItem para localizar o certificado no Cert:\CurrentUser\My.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-ContentType
Especifica o tipo de conteúdo da solicitação da Web.
Se o valor de ContentType contiver o formato de codificação (como charset), o cmdlet usará esse formato para codificar o corpo da solicitação da Web. Se o ContentType não especificar um formato de codificação, o formato de codificação padrão será usado. Um exemplo de contentType com um formato de codificação é text/plain; charset=iso-8859-5, que especifica o alfabeto latino/cirílico.
Se você omitir o parâmetro, o tipo de conteúdo poderá ser diferente com base no método HTTP que você usa:
- Para um método POST, o tipo de conteúdo é
application/x-www-form-urlencoded - Para um método PUT, o tipo de conteúdo é
application/json - Para outros métodos, o tipo de conteúdo não é especificado na solicitação
Se você estiver usando o parâmetro InFile para carregar um arquivo, defina o tipo de conteúdo.
Normalmente, o tipo deve ser application/octet-stream. No entanto, você precisa definir o tipo de conteúdo com base nos requisitos do ponto de extremidade.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Credential
Especifica uma conta de usuário que tem permissão para enviar a solicitação. O padrão é o usuário atual.
Digite um nome de usuário, como user01 ou Domain01\User01, ou insira um objeto PSCredential gerado pelo cmdlet Get-Credential.
As credenciais são armazenadas em um objeto PSCredential e a senha é armazenada como um SecureString.
Observação
Para obter mais informações sobre a proteção de dados do SecureString, consulte Quão seguro é o SecureString?.
Propriedades do parâmetro
| Tipo: | PSCredential |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-DisableKeepAlive
Indica que o cmdlet define o valor KeepAlive no cabeçalho HTTP como False. Por padrão, KeepAlive é True. KeepAlive estabelece uma conexão persistente com o servidor para facilitar as solicitações subsequentes.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Headers
Especifica os cabeçalhos da solicitação da Web. Insira uma tabela hash ou um dicionário.
Para definir
Propriedades do parâmetro
| Tipo: | IDictionary |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-InFile
Obtém o conteúdo do corpo da solicitação da Web de um arquivo. Insira um caminho e um nome de arquivo. Se você omitir o caminho, o padrão será o local atual.
Você também precisa definir o tipo de conteúdo da solicitação. Por exemplo, para carregar um arquivo, você deve definir o tipo de conteúdo. Normalmente, o tipo deve ser application/octet-stream. No entanto, você precisa definir o tipo de conteúdo com base nos requisitos do ponto de extremidade.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-MaximumRedirection
Especifica quantas vezes o PowerShell redireciona uma conexão para um URI (Uniform Resource Identifier) alternativo antes que a conexão falhe. O valor padrão é 5. Um valor de 0 (zero) impede todo o redirecionamento.
Propriedades do parâmetro
| Tipo: | Int32 |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Method
Especifica o método usado para a solicitação da Web. Os valores aceitáveis para este parâmetro são:
DefaultDeleteGetHeadMergeOptionsPatchPostPutTrace
Propriedades do parâmetro
| Tipo: | WebRequestMethod |
| Valor padrão: | None |
| Valores aceitos: | Default, Get, Head, Post, Put, Delete, Trace, Options, Merge, Patch |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-OutFile
Especifica o arquivo de saída para o qual esse cmdlet salva o corpo da resposta. Insira um caminho e um nome de arquivo. Se você omitir o caminho, o padrão será o local atual.
Por padrão, Invoke-WebRequest retorna os resultados para o pipeline. Para enviar os resultados para um arquivo e para o pipeline, use o parâmetro PassThru .
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-PassThru
Indica que o cmdlet retorna os resultados, além de escrevê-los em um arquivo. Esse parâmetro é válido somente quando o parâmetro OutFile também é usado no comando.
Observação
Quando você usa o parâmetro PassThru, a saída é gravada no pipeline, mas o arquivo está vazio. Para obter mais informações, consulte o problema do PowerShell nº 15409.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Proxy
Especifica um servidor proxy para a solicitação, em vez de se conectar diretamente ao recurso da Internet. Insira o URI de um servidor proxy de rede.
Propriedades do parâmetro
| Tipo: | Uri |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-ProxyCredential
Especifica uma conta de usuário que tem permissão para usar o servidor proxy especificado pelo parâmetro proxy. O padrão é o usuário atual.
Digite um nome de usuário, como User01 ou Domain01\User01, ou insira um objeto PSCredential, como um gerado pelo cmdlet Get-Credential.
Esse parâmetro é válido somente quando o parâmetro Proxy também é usado no comando. Você não pode usar os parâmetros ProxyCredential e ProxyUseDefaultCredentials no mesmo comando.
Propriedades do parâmetro
| Tipo: | PSCredential |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-ProxyUseDefaultCredentials
Indica que o cmdlet usa as credenciais do usuário atual para acessar o servidor proxy especificado pelo parâmetro proxy do
Esse parâmetro é válido somente quando o parâmetro Proxy também é usado no comando. Você não pode usar os parâmetros ProxyCredential e ProxyUseDefaultCredentials no mesmo comando.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-SessionVariable
Especifica uma variável para a qual esse cmdlet cria uma sessão de solicitação da Web e a salva no valor.
Insira um nome de variável sem o símbolo de cifrão ($).
Quando você especifica uma variável de sessão, Invoke-WebRequest cria um objeto de sessão de solicitação da Web e o atribui a uma variável com o nome especificado na sessão do PowerShell. Você pode usar a variável em sua sessão assim que o comando for concluído.
Ao contrário de uma sessão remota, a sessão de solicitação da Web não é uma conexão persistente. É um objeto que contém informações sobre a conexão e a solicitação, incluindo cookies, credenciais, o valor máximo de redirecionamento e a cadeia de caracteres do agente do usuário. Você pode usá-lo para compartilhar o estado e os dados entre solicitações da Web.
Para usar a sessão de solicitação web em solicitações web subsequentes, especifique a variável de sessão no valor do parâmetro WebSession. O PowerShell usa os dados no objeto de sessão de solicitação da Web ao estabelecer a nova conexão. Para substituir um valor na sessão de solicitação da Web, use um parâmetro de cmdlet, como UserAgent ou Credencial. Os valores de parâmetro têm precedência sobre valores na sessão de solicitação da Web.
Você não pode usar os parâmetros SessionVariable e WebSession no mesmo comando.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | SV |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-TimeoutSec
Especifica quanto tempo a solicitação pode ficar pendente antes de atingir o tempo limite. Insira um valor em segundos. O valor padrão, 0, especifica um tempo limite indefinido.
Uma consulta DNS (Sistema de Nomes de Domínio) pode levar até 15 segundos para retornar ou um tempo limite. Se sua solicitação contiver um nome de host que exija resolução e você definir TimeoutSec para um valor maior que zero, mas menor que 15 segundos, poderá levar 15 segundos ou mais antes que um WebException seja lançado e sua solicitação reduza o tempo limite.
Propriedades do parâmetro
| Tipo: | Int32 |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-TransferEncoding
Especifica um valor para o cabeçalho de resposta HTTP de codificação de transferência. Os valores aceitáveis para este parâmetro são:
ChunkedCompressDeflateGZipIdentity
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Valores aceitos: | chunked, compress, deflate, gzip, identity |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Uri
Especifica o URI (Uniform Resource Identifier) do recurso da Internet para o qual a solicitação da Web é enviada. Insira um URI. Esse parâmetro dá suporte a valores HTTP, HTTPS, FTP e FILE.
Este parâmetro é obrigatório. O nome do parâmetro Uri é opcional.
Propriedades do parâmetro
| Tipo: | Uri |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-UseBasicParsing
Indica que o cmdlet usa o objeto de resposta para conteúdo HTML sem a análise do DOM (Document Object Model). Esse parâmetro é necessário quando o Internet Explorer não está instalado nos computadores, como em uma instalação do Server Core de um sistema operacional Windows Server.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-UseDefaultCredentials
Indica que o cmdlet usa as credenciais do usuário atual para enviar a solicitação da Web.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-UserAgent
Especifica um string de agente de usuário para a requisição web. O agente de usuário padrão é semelhante a Mozilla/5.0 (Windows NT; Windows NT 6.1; en-US) WindowsPowerShell/3.0 com pequenas variações para cada sistema operacional e plataforma.
Para testar um site com a cadeia de caracteres de agente de usuário padrão usada pela maioria dos navegadores da Internet, use as propriedades da classe PSUserAgent, como Chrome, Firefox, InternetExplorer, Opera e Safari. Por exemplo, o seguinte comando usa a cadeia de caracteres do agente de usuário para o Internet Explorer: Invoke-WebRequest -Uri https://website.com/ -UserAgent ([Microsoft.PowerShell.Commands.PSUserAgent]::InternetExplorer)
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-WebSession
Especifica uma sessão de solicitação da Web. Insira o nome da variável, incluindo o sinal de dólar ($).
Para substituir um valor na sessão de solicitação da Web, use um parâmetro de cmdlet, como UserAgent ou Credencial. Os valores de parâmetro têm precedência sobre valores na sessão de solicitação da Web.
Ao contrário de uma sessão remota, a sessão de solicitação da Web não é uma conexão persistente. É um objeto que contém informações sobre a conexão e a solicitação, incluindo cookies, credenciais, o valor máximo de redirecionamento e a cadeia de caracteres do agente do usuário. Você pode usá-lo para compartilhar o estado e os dados entre solicitações da Web.
Para criar uma sessão de requisição web, insira um nome de variável, sem um sinal de dólar, no valor do parâmetro SessionVariable de um comando Invoke-WebRequest.
Invoke-WebRequest cria a sessão e a salva na variável. Nos comandos subsequentes, use a variável como o valor do parâmetro WebSession.
Você não pode usar os parâmetros SessionVariable e WebSession no mesmo comando.
Propriedades do parâmetro
| Tipo: | WebRequestSession |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
Object
Você pode canalizar o corpo de uma solicitação da Web para este cmdlet.
Saídas
HtmlWebResponseObject
Esse cmdlet retorna o objeto de resposta que representa o resultado da solicitação da Web.
Observações
O Windows PowerShell inclui os seguintes aliases para Invoke-WebRequest:
iwrcurlwget