2022-07-13 00:41:24 +01:00
|
|
|
# Invoke-WebRequest
|
|
|
|
|
|
|
|
> Performs a HTTP/HTTPS request to the Web.
|
2024-06-07 11:04:32 +01:00
|
|
|
> Note: This command can only be used through PowerShell.
|
2022-10-04 16:06:23 +01:00
|
|
|
> More information: <https://learn.microsoft.com/powershell/module/microsoft.powershell.utility/invoke-webrequest>.
|
2022-07-13 00:41:24 +01:00
|
|
|
|
|
|
|
- Download the contents of a URL to a file:
|
|
|
|
|
2023-02-20 07:23:49 +00:00
|
|
|
`Invoke-WebRequest {{http://example.com}} -OutFile {{path\to\file}}`
|
2022-07-13 00:41:24 +01:00
|
|
|
|
|
|
|
- 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:
|
|
|
|
|
2023-06-14 16:32:31 +01:00
|
|
|
`Invoke-WebRequest -Body {{'{"name":"bob"}'}} -ContentType 'application/json' {{http://example.com/users/1234}}`
|
2022-07-13 00:41:24 +01:00
|
|
|
|
|
|
|
- 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}}`
|