捐血一袋救人一命

2021年3月15日 星期一

PowerShell 的 Internet http(s)/Web 存取功能

  1. $ie = New-Object -com InternetExplorer.Application
  2. $Downloader = New-Object -TypeName System.Net.WebClient
  3. [Net.HttpWebRequest]$WebRequest = [Net.WebRequest]::Create($Uri)
  4. Invoke-WebRequest
  5. Invoke-RestMethod / Invoke-Method
  6. 透過 Selenium 操控瀏覽器,存取網站

第一種,只能操作 Internet Explorer,而且經常會莫名發生例外狀況,而無法使用 getElement(s)等相關方法;此時,建議改用IHTMLDocument3_getElement(s)等相關方法

第二種,通常用在下載檔案,當你有確定的檔案網址時,就使用它來下載檔案/圖片/影片

第三種讀取網站會是字串型態

第四種、第五種則是 HtmlWebResponse物件,通常用在存取網頁或呼叫API,如果遠端網站的資料是透過 Javascript AJAX 取得,那很可能就會抓不到資料

至於第五種,需要額外安裝Selenium WebDriver,不同瀏覽器需要安裝不同的版本;此外,當瀏覽器版本升級時,WebDriver也會需要相應升級

0 意見: