[C#] PuppeteerSharp - 快照網頁並產出 PDF + 設定 PDF 格式

2023-02-15

Puppeteer-Sharp 是一個可以在.NET環境下運行的工具,它可以讓開發人員使用C#程式碼控制Headless Chrome或Chromium瀏覽器。

甚至你可以用自己的瀏覽器 ex.firefox

你可以透過這個工具來模擬人類使用瀏覽器的行為,像是瀏覽網頁、填寫表單、截圖或是生成PDF檔案。這篇文章將會介紹Puppeteer-Sharp 來將蝦皮某一個搜尋網頁

快照成 PDF,這套件有一個好處他自建瀏覽器核心,所以理論上應該是可以 Linux 運行,看一下網路上文件應該是沒啥問題。




[C#] 使用 HTML Agility Pack 抓取 Azure 上面的某區域的各服務狀態

2023-02-13

HTML Agility Pack 是一個基於 C# 的開源庫,旨在幫助開發人員處理 HTML 文檔。

它提供了一種簡單易用的方法來解析和操作 HTML 內容,比起使用正則表達式或原生 C# 內置函數要容易得多。


HTML Agility Pack 的核心功能是把 HTML 文檔轉換為一個可操作的頁面物件,方便開發人員進行各種 HTML 操作,如遍歷頁面節點,修改頁面元素,抓取頁面內容等。

同時,HTML Agility Pack 也支持頁面解析過程中的錯誤回調,可以幫助開發人員處理不完整或錯誤的 HTML 文檔。

使用 HTML Agility Pack 實現任務非常簡單。開發人員可以通過一些簡單的 C# 程序代碼將 HTML 文檔轉換為頁面物件,然後就可以通過頁面物件進行各種操作。

上篇文章 大概講過 如何操作 HTML Agitlty Pack 最近剛好遇到 Azure  東南亞區域掛掉 24小時事件,剛好測試一下來抓某一區域的狀態



[C#] 簡單測試一下 MaxBy , MinBy

2023-02-07

今天介紹一個 .NET6 之後才有的東西,MinBy  還有 MaxBy

其實我只是看到後想說跟原本的 Min 跟 Max 有啥不同,其實就字面上跟很多網路上的範例都可以知道這是幹嘛的

但是我很好奇如果是遇到一樣的值的呢,很多案例都是測 int[] 但是如果是 Object[] 的某屬性一樣那他是會拿到一個還是多個



[C#] 使用 iCal.NET 產生 .ICS 行事曆事件+附加檔案

今天接續之前透過  iCal.NET  來建立 .ics 的行事曆預約檔案的延伸

我們天才的業主希望在事件裡面加入 COUPON 圖片,我原本以為不行的想說婉拒

但是我後來查了一下好像可以,測試一下竟然成功,那就筆記一下



[C#] ASP.NET Core 6.0 - 一種可以將 Page 當 WebAPI 用的方法 + __RequestVerificationToken

繼續上一篇文章 ( ASP.NET Core 6.0 - 一種可以將 Page 當 WebAPI 用的方法,但不推薦 )沒說得事情,其實是有一個方法

可以增加安全性不用加上  [IgnoreAntiforgeryToken] ,還是適當的增加了安全性可以簡單防禦了 XSRF/CSRF 攻擊

但是不一樣的是上一篇文章,你可以純用 .html 去用 AJAX 呼叫,但是這不行只能乖乖地開 Page



[C#] ASP.NET Core 6.0 - 一種可以將 Page 當 WebAPI 用的方法,但不推薦

2023-02-06

今天來寫一個不推薦使用的小技巧,但是又是一個可以解決一些小問題的方法

簡單說一下情境,在 ASP.NET Webform 時代,有時候真的有時候給客戶一個東西要 retun JSON 的答案

但是我又不想使用一大個框架來解決問題,我會就把 Page 清乾淨後 直接處理POST過來的參數再 retun 我要的 JSON string

 這陣子我又遇到了,當然最好的解決方法,請使用 WebAPI ,這不是一個好的範例

用這方法請自己知道自己在做啥危險性有多高在評估使用。



當麻許的超技八 2014 | Donma Hsu Design.