Invoke-WebRequest
Invoke-WebRequest is a command line tool in Windows PowerShell that allows users to send HTTP and HTTPS requests to web servers. It is used for retrieving data from websites and interacting with web services.
This command is part of the PowerShell module, and it uses the .NET WebClient Class to perform the requests. It supports various HTTP methods such as GET, POST, PUT, DELETE, and more.
Invoke-WebRequest can be used to download files from a remote server, submit form data, and navigate web pages programmatically. It can also handle cookies, headers, and authentication.
Response details such as status code, headers, and content can be retrieved using the command. The response content could be HTML, XML, JSON, or other formats, and it can be parsed to extract specific information or saved to a file.
In PowerShell, Invoke-WebRequest is often used in conjunction with other commands and piping functionality to automate web interactions, web scraping, or even perform website monitoring tasks. It provides a powerful way to interact with web resources directly from the command line.
List of commands for Invoke-WebRequest:
-
invoke-webrequest:tldr:42533 invoke-webrequest: 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}try on your machineexplain this command
-
invoke-webrequest:tldr:ac4f3 invoke-webrequest: Download the contents of a URL to a file.$ Invoke-WebRequest ${http:--example-com} -OutFile ${path\to\file}try on your machineexplain this command
-
invoke-webrequest:tldr:bee63 invoke-webrequest: Send a request with an extra header, using a custom HTTP method.$ Invoke-WebRequest -Headers ${@{ X-My-Header = '123' }} -Method ${PUT} ${http:--example-com}try on your machineexplain this command
-
invoke-webrequest:tldr:f01c1 invoke-webrequest: Send data in JSON format, specifying the appropriate content-type header.$ Invoke-WebRequest -Body ${'{"name":"bob"}'} -ContentType 'application/json' ${http:--example-com-users-1234}try on your machineexplain this command
-
invoke-webrequest:tldr:f64ca invoke-webrequest: Send form-encoded data (POST request of type `application/x-www-form-urlencoded`).$ Invoke-WebRequest -Method Post -Body @{ name='bob' } ${http:--example-com-form}try on your machineexplain this command