jlzzjlzz亚洲乱熟在线播放

系統城裝機大師 - 唯一官網:www.farandoo.com!

當前位置:首頁 > 腳本中心 > PowerShell > 詳細頁面

powershell網絡蜘蛛解決亂碼問題

時間:2020-01-28來源:系統城作者:電腦系統城

抓?。ㄅ廊。┚W上信息的腳本程序,俗稱網絡蜘蛛。
powershell中自帶了這樣的兩個命令,【Invoke-WebRequest】和【Invoke-RestMethod】,但這兩個命令有時候會亂碼。

現在轉帖分享, 某個【歪果仁】寫的腳本。來源于 墻外出處: https://gist.github.com/angel-vladov/9482676

核心代碼


 
  1. function Read-HtmlPage {
  2. param ([Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)][String] $Uri)
  3.  
  4. # Invoke-WebRequest and Invoke-RestMethod can't work properly with UTF-8 Response so we need to do things this way.
  5. [Net.HttpWebRequest]$WebRequest = [Net.WebRequest]::Create($Uri)
  6. [Net.HttpWebResponse]$WebResponse = $WebRequest.GetResponse()
  7. $Reader = New-Object IO.StreamReader($WebResponse.GetResponseStream())
  8. $Response = $Reader.ReadToEnd()
  9. $Reader.Close()
  10.  
  11. # Create the document class
  12. [mshtml.HTMLDocumentClass] $Doc = New-Object -com "HTMLFILE"
  13. $Doc.IHTMLDocument2_write($Response)
  14.  
  15. # Returns a HTMLDocumentClass instance just like Invoke-WebRequest ParsedHtml
  16. $Doc
  17.  
  18. #powershell 傳教士 轉帖并修改的文章 2016-01-01, 允許再次轉載,但必須保留名字和出處,否則追究法律責任
  19.  
  20. }

原文函數


 
  1. function Read-HtmlPage {
  2. param ([Parameter(Mandatory=$true, Position=0, ValueFromPipeline=$true)][String] $Uri)
  3.  
  4. # Invoke-WebRequest and Invoke-RestMethod can't work properly with UTF-8 Response so we need to do things this way.
  5. [Net.HttpWebRequest]$WebRequest = [Net.WebRequest]::Create($Uri)
  6. [Net.HttpWebResponse]$WebResponse = $WebRequest.GetResponse()
  7. $Reader = New-Object IO.StreamReader($WebResponse.GetResponseStream())
  8. $Response = $Reader.ReadToEnd()
  9. $Reader.Close()
  10.  
  11. # Create the document class
  12. [mshtml.HTMLDocumentClass] $Doc = New-Object -com "HTMLFILE"
  13. $Doc.IHTMLDocument2_write($Response)
  14.  
  15. # Returns a HTMLDocumentClass instance just like Invoke-WebRequest ParsedHtml
  16. $Doc
  17. }

PowerShell function you can use for reading UTF8 encoded HTML pages content. The built in Invoke-WebRequest and Invoke-RestMethod fail miserably.

分享到:

相關信息

  • Powershell 腳本數字簽名實現方法

    腳本很容易被冒名頂替或者更改,因為它們是由純文本構成的。數字簽名為腳本提供了更高的安全性,因為它能確定腳本和腳本的編輯者的唯一性,并且不能被更改。作為腳本的發布者,你能確定你的腳本沒有被惡意篡改。即使專家也無...

    2020-01-28

  • PowerShell 語音計算器實現代碼

    帶中文發音功能的計算器程序,支持鼠標和小鍵盤輸入,支持多種數值轉人民幣的相關資料...

    2020-01-28

系統教程欄目

欄目熱門教程

人氣教程排行

站長推薦

熱門系統下載