kjacobsen icon

Get-WebPage

kjacobsen | PRO | 01/28/13 01:30:24 AM UTC | 0 ⭐ | 512 👁️ | Never ⏰ | []
PowerShell |

2.08 KB

|

None

|

0 👍

/

0 👎

# Code Snippet from aperturescience.su
Function Get-WebPage 
{
<#
.SYNOPSIS
Get a webpage
 
.DESCRIPTION
Gets the webpage at the specified URL and returns the string representation of that page. Webpages can be accessed over an URI including http://, Https://, file://, \\server\folder\file.txt etc.
 
.PARAMETER URL
The url of the page we want to download and save as a string. URL must have format like: http://google.com, https://microsoft.com, file://c:\test.txt
 
.PARAMETER Credentials
[Optional] Credentials for remote server
 
.PARAMETER WebProxy
[Optional] Web Proxy to be used, if none supplied, System Proxy settings will be honored
 
.PARAMETER Headers
[Optional] Used to specify additional headers in HTTP request
 
.PARAMETER UserAgent
[Optional] Simpler method of specifying useragent header
 
.INPUTS
Nothing can be piped directly into this function
 
.OUTPUTS
String representing the page at the specified URL
 
.EXAMPLE
Get-Webpage "http://google.com"
Gets the google page and returns it
 
.NOTES
NAME: Get-WebPage
AUTHOR: [email protected]
LASTEDIT: 2012-10-14 9:15:00
KEYWORDS:
 
.LINK
http://aperturescience.su/
#>
[CMDLetBinding()]
Param
(
  [Parameter(mandatory=$true)] [String] $URL,
  [System.Net.ICredentials] $Credentials,
  [System.Net.IWebProxy] $WebProxy,
  [System.Net.WebHeaderCollection] $Headers,
  [String] $UserAgent
)
 
#make a webclient object
$webclient = New-Object Net.WebClient
#set the pass through variables if they are not null
if ($Credentials) 
{
    $webclient.credentials = $Credentials
}
if ($WebProxy) 
{
    $webclient.proxy = $WebProxy
}
if ($Headers) 
{
    $webclient.headers.add($Headers)
}
if ($UserAgent)
{
    $webclient.headers["User-Agent"] = $UserAgent
}
 
#Set the encoding type, we will use UTF8
$webclient.Encoding = [System.Text.Encoding]::UTF8
 
#contains resultant page
$result = $null
 
#call download string and return the string returned (or any errors generated)
try
{
    $result = $webclient.downloadstring($URL)
}
catch
{
    throw $_
}
 
return $result
 
}
# Code Snippet from aperturescience.su

Comments