powershell网络蜘蛛解决乱码问题(powershell网络测试)速看

随心笔谈9个月前发布 admin
211 00
🌐 经济型:买域名、轻量云服务器、用途:游戏 网站等 《腾讯云》特点:特价机便宜 适合初学者用 点我优惠购买
🚀 拓展型:买域名、轻量云服务器、用途:游戏 网站等 《阿里云》特点:中档服务器便宜 域名备案事多 点我优惠购买
🛡️ 稳定型:买域名、轻量云服务器、用途:游戏 网站等 《西部数码》 特点:比上两家略贵但是稳定性超好事也少 点我优惠购买

文章摘要

文章介绍了一种在PowerShell中处理HTML页面的方法,重点在于解决使用`Net.HttpWebRequest`获取UTF-8编码响应时可能出现的问题。作者建议通过文本流获取响应内容,并使用`mshtml.HTMLDocumentClass`创建HTML文档对象,以直接获取解析好的HTML内容。这种方法避免了与UTF-8编码相关的潜在问题,代码示例展示了如何实现这一解决方案。文章整体内容简明扼要,重点突出了解决方案的具体实现方式。


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, 允许再次转载,但必须保留名字和出处,否则追究法律责任

}

© 版权声明

相关文章