文章摘要
本文介绍了如何在 PowerShell 中使用 custom function "Read-HtmlPage" 来处理 HTML 页面内容。该函数的主要功能是绕过 Web 代理对 UTF-8 支持的限制,通过直接读取网页响应并解析为 HTML 文档对象。函数的实现步骤包括创建 Web 请求数、获取响应、读取响应内容并解析为 HTML 文档对象,并返回该对象。该方法特别适用于需要处理 HTML 文档的场景,提供了一种简便的解决方案。
function Read-HtmlPage {
param ([Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)][String] $Uri)
function Read-HtmlPage {
param ([Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)][String] $Uri)
# Invoke-WebRequest and Invoke-RestMethod can’t work properly with UTF-8 Response so we need to do things this way.
[Net.HttpWebRequest]$WebRequest=[Net.WebRequest]::Create($Uri)
[Net.HttpWebResponse]$WebResponse=$WebRequest.GetResponse()
$Reader=New-Object IO.StreamReader($WebResponse.GetResponseStream())
$Response=$Reader.ReadToEnd()
$Reader.Close()
# Create the document class
[mshtml.HTMLDocumentClass] $Doc=New-Object -com “HTMLFILE”
$Doc.IHTMLDocument2_write($Response)
# Returns a HTMLDocumentClass instance just like Invoke-WebRequest ParsedHtml
$Doc
#powershell 传教士 转帖并修改的文章 2016-01-01, 允许再次转载,但必须保留名字和出处,否则追究法律责任
}
© 版权声明
文章版权归作者所有,未经允许请勿转载。