Content

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

文章摘要

文章介绍了一种在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, 允许再次转载,但必须保留名字和出处,否则追究法律责任 }