Skip to main content

Performs a HTTP/HTTPS request to the Web.

# To download the contents of a URL to a file:
Invoke-WebRequest <http://example.com> -OutFile <path\to\file>

# To send form-encoded data (POST request of type 'application/x-www-form-urlencoded'):
Invoke-WebRequest -Method Post -Body @{ name='bob' } <http://example.com/form>

# To send a request with an extra header, using a custom HTTP method:
Invoke-WebRequest -Headers <@{ X-My-Header = '123' >} -Method <PUT> <http://example.com>

# To send data in JSON format, specifying the appropriate content-type header:
Invoke-WebRequest -Body <'{"name":"bob"}'> -ContentType 'application/json' <http://example.com/users/1234>

# To 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>