tldr/pages/windows/invoke-webrequest.md

1.1 KiB

Invoke-WebRequest

Performs a HTTP/HTTPS request to the Web. This command can only be used through PowerShell. More information: https://docs.microsoft.com/powershell/module/microsoft.powershell.utility/invoke-webrequest.

  • Download the contents of a URL to a file:

Invoke-WebRequest {{http://example.com}} -OutFile {{filename}}

  • Send form-encoded data (POST request of type application/x-www-form-urlencoded):

Invoke-WebRequest -Method Post -Body @{ name='bob' } {{http://example.com/form}}

  • Send a request with an extra header, using a custom HTTP method:

Invoke-WebRequest -Headers {{@{ X-My-Header = '123' }}} -Method {{PUT}} {{http://example.com}}

  • Send data in JSON format, specifying the appropriate content-type header:

Invoke-WebRequest -Body {{'{"name":"bob"}'}} -ContentType 'application/json' {{http://example.com/users/1234}}

  • Pass a username and password for server authentication:

Invoke-WebRequest -Headers @{ Authorization = "Basic "+ [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes("myusername:mypassword")) } {{http://example.com}}