Invoke-WebRequest is a PowerShell cmdlet introduced in PowerShell 3.0 for sending HTTP, HTTPS, and FTP requests, primarily used for accessing REST APIs, downloading web files, and interacting with web services. It allows users to specify parameters such as URI, HTTP method, headers, and request body, with the URI being the only required argument for a GET request. This guide explains how to use Invoke-WebRequest across different operating systems, including Windows, macOS, and Linux, with a focus on proxy usage. It covers specifying HTTP, HTTPS, and SOCKS proxies, detailing how to configure these proxies using command-line options and environment variables. The guide highlights potential issues, such as SSL certificate errors, and offers solutions like using the -SkipCertificateCheck option. It also discusses the types of proxies available, such as datacenter, residential, ISP, and mobile proxies, recommending premium providers like Bright Data for reliable and secure proxy services.