若要將 RSS 傳送到 Webhook,您需要一個會定期檢查動態消息、找出新文章,並以 HTTP POST 將每篇文章傳送至指定網址的工具。 Feeder 的「發佈到 Webhook」規則可處理任意數量的動態消息,並內建關鍵字篩選和重試功能。Zapier、Make、IFTTT 和 n8n 等自動化工具也能做到,您也可以在自己的伺服器上執行簡短的指令碼。
將 RSS 傳送到 Webhook 有哪些選擇?
| 選項 | 適用情況 | 注意事項 |
|---|---|---|
| Feeder 的「發佈到 Webhook」規則 | 多個動態消息、關鍵字篩選,以及所有動態消息使用相同 JSON 格式 | 包含於 Feeder Professional。詳細說明如下。 |
| Zapier、Make、IFTTT 或 n8n | 不寫程式,將每篇文章轉交給其他應用程式 | 您需要自行對應欄位。各工具都有自己的方案和限制。 |
| 自訂指令碼 | 希望完全掌控流程的開發人員 | 您必須自行託管、排程,並記錄已傳送的內容。 |
Feeder 的「發佈到 Webhook」規則如何運作?
「發佈到 Webhook」是 Feeder「規則」中的一項動作。建立規則時,在要執行什麼動作?下方選擇發佈到 Webhook,貼上端點網址,再選擇要監看的動態消息、資料夾或所有動態消息。如果只想傳送部分文章,可以加入關鍵字。設定完成後,Feeder 會將每篇符合條件的新文章傳送到您的網址。
使用 Webhook 建立自己的整合提供完整步驟和螢幕截圖,功能推出公告則展示規則的實際運作方式。本頁的技術資訊來自負責傳送 Webhook 的程式碼。
Feeder 會傳送哪些內容到 Webhook?
每篇文章會收到一個 HTTP POST 請求,內含 JSON 主體和以下標頭:
POST /hooks/rss HTTP/1.1
Content-Type: application/json
User-Agent: Feeder-Webhooks/1.0
X-Feeder-Signature: sha256=<HMAC-SHA256 of the body, in hex>
以下是 Feeder 部落格文章的資料範例,其中的 content 已縮短。Feeder 傳送時會將整段內容放在同一行,這裡為方便閱讀而分行呈現。
{
"version": "2023-06-26",
"message_id": "3f1c9a52-7e4b-4d0a-9b6e-2c8d51f0a7e4",
"post": {
"id": "aff2424a-abc9-11f1-afb3-1a21cf3a468a",
"title": "Feed your AI",
"url": "https://feeder.co/blog/1208-feed-your-ai",
"published": "2026-09-08T20:19:59Z",
"content": "\u003cp\u003eWith Feeder's MCP server, you can connect Feeder to your AI client of choice.\u003c/p\u003e",
"audio_url": null,
"image_url": "https://uploads.feedercdn.com/8XSXZN92WHeb2d17f3440d-feedyourai-1024x538.png"
},
"feed": {
"id": "21f058e947",
"source_url": "https://feeder.co/blog.rss",
"public_url": "https://feeder.co/blog",
"title": "Feeder.co",
"favicon": "https://icons.feedercdn.com/feeder.co"
}
}
| 欄位 | 內容 |
|---|---|
version | 格式版本:2023-06-26。 |
message_id | 每則訊息都有新的 ID。同一則訊息重試時會保留原 ID,因此您可以略過重複訊息。 |
post.id | Feeder 為文章指定的 ID。 |
post.title | 文章標題。 |
post.url | 網站上的文章連結。 |
post.published | 文章發佈時間,格式為 RFC 3339 時間戳記,也可能是 null。 |
post.content | 動態消息提供的 HTML 文章內容,可能是全文或摘要。 |
post.audio_url | 附加至文章的 MP3 網址,例如 Podcast 單集,也可能是 null。 |
post.image_url | 附加至文章的圖片,若無則取文章內容中的第一張圖片,也可能是 null。 |
feed.id | Feeder 為動態消息指定的短 ID。 |
feed.source_url | 動態消息網址。 |
feed.public_url | 這個動態消息所屬的網站。 |
feed.title | 動態消息標題。 |
feed.favicon | 網站圖示網址。 |
在 content 中,字元 <、> 和 & 會以 \u003c、\u003e 和 \u0026 傳送。這是有效的 JSON,任何 JSON 剖析器都會將它們還原成 HTML。
Webhook 會在什麼時候觸發?
- 只會處理新文章。儲存規則後,Feeder 找到的文章才會觸發動作,不會傳送您已經有的文章。
- 每篇文章傳送一次。每篇符合條件的文章都會各自送出一個請求,Feeder 不會將多篇文章合併傳送。如果網站之後修改文章,而且 Feeder 偵測到變更,修改後的版本也會傳送。
- 動態消息下次檢查後立即傳送。Professional 預設每 10 分鐘檢查一次動態消息,您也可以將單一動態消息設定為最快每分鐘更新一次。詳情請參閱Feeder 多久檢查一次動態消息。
- 只傳送符合條件的文章。設定關鍵字後,只會傳送符合條件的文章;未設定關鍵字時,則會傳送每篇新文章。被過濾帖子或過濾重複項規則隱藏的文章不會傳送。
如果我的端點無法使用,會發生什麼事?
Feeder 最多會等候 60 秒取得回應。收到 2xx 狀態碼即視為送達。如果端點回傳錯誤,例如 404 或 500,或完全沒有回應,Feeder 最多會再重試 8 次:
| 嘗試次數 | 與前一次嘗試相隔時間 |
|---|---|
| 2 | 5 秒 |
| 3 | 30 秒 |
| 4 | 1 分鐘 |
| 5 | 5 分鐘 |
| 6 | 10 分鐘 |
| 7 | 30 分鐘 |
| 8 | 30 分鐘 |
| 9 | 30 分鐘 |
第 9 次嘗試後,也就是第一次傳送後約 1 小時 47 分鐘,Feeder 就會停止重試該文章。每次失敗的嘗試都會顯示在規則的錯誤記錄中:開啟規則並選擇開啟錯誤記錄。如果重試等待期間您變更了規則網址,之後的重試會改傳到新網址。傳送測試訊息只會傳送一則測試訊息,不會重試。
端點應該如何處理請求?
- 快速回覆。先回傳 2xx 狀態碼,再執行耗時的工作,確保回應時間遠低於 60 秒。
- 略過重複訊息。如果伺服器已處理訊息,但回覆太慢,重試時會再次收到該訊息。請記錄已看過的
message_id或post.id值。 - 使用最終網址。網址必須包含路徑,例如
https://example.com/hooks/rss,而且必須指向可從公開網際網路存取的伺服器。Feeder 不會向本機或私人網路位址發送請求,也請避免使用重新導向:收到 301、302 或 303 重新導向後,請求會變成不含 JSON 主體的 GET。 - 驗證簽章。任何知道您網址的人都能向該網址傳送請求,因此只應信任帶有有效
X-Feeder-Signature的請求。下一節會說明驗證方法。
如何確認請求來自 Feeder?
Feeder 會使用規則的 Webhook 密鑰為每個請求簽署。若要查看密鑰,請開啟規則、啟用進階、複製Webhook 密鑰,然後儲存規則。X-Feeder-Signature 標頭的內容是 sha256=,後面接著使用該密鑰計算出的請求主體 HMAC-SHA256,並以十六進位表示。
若要驗證,請在剖析 JSON 之前,先對原始主體計算相同的 HMAC,並以常數時間比較兩者。Python 範例如下:
import hashlib, hmac
def from_feeder(body, header, secret):
expected = "sha256=" + hmac.new(secret.encode(), body, hashlib.sha256).hexdigest()
return hmac.compare_digest(expected, header or "")
此處的 body 是以位元組表示的請求主體。如果 from_feeder 傳回 False,請拒絕該請求。重試時會使用規則目前的密鑰簽署,因此變更密鑰後,重試請求也會套用新密鑰。
Feeder 可以將摘要傳送到 Webhook 嗎?
不可以。「發佈到 Webhook」會在 Feeder 找到文章時,為每篇文章各傳送一個請求。若要取得摘要,您可以採用以下三種方式:
- 自行彙整。將端點收到的每篇文章儲存起來,再依排程傳送自己的摘要。
- 使用電子郵件摘要。Feeder 可針對您選擇的動態消息,每天、每週或每月寄送摘要給您,Plus 和 Professional 皆提供此功能。詳情請參閱接收新文章通知。
- 發佈動態消息。Professional 可將資料夾或集合發佈為 RSS 或 JSON 動態消息,讓您自己的工具依排程讀取。詳情請參閱如何將文章匯出為 RSS 和 JSON 動態消息。
如何使用 Zapier、Make、IFTTT 或 n8n 將 RSS 傳送到 Webhook?
這些工具都能將 RSS 觸發程序與 HTTP 動作配對。我們於 2026 年 9 月 28 日在各工具的官方網站確認了以下名稱:
| 工具 | 觸發程序 | 動作 | 注意事項 |
|---|---|---|---|
| Zapier | RSS by Zapier:動態消息中的新項目,或多個動態消息中的新項目 | Webhooks by Zapier:POST | Webhooks by Zapier 是進階應用程式,Zapier 只在付費方案中提供。 |
| Make | RSS:監看 RSS 動態消息項目 | HTTP:發出請求 | RSS 模組可讀取 RSS 和 Atom 動態消息。 |
| IFTTT | RSS Feed:新動態消息項目 | Webhooks:發出 Web 請求 | IFTTT 免費方案每小時檢查一次動態消息,Pro 和 Pro+ 則每 5 分鐘檢查一次。 |
| n8n | RSS Feed Trigger 節點 | 使用 POST 方法的 HTTP Request 節點 | 您可以在輪詢時間中選擇檢查動態消息的頻率。 |
如果您已經在使用其中一種工具,這通常是最快的做法。您也可以搭配 Feeder 使用:將「發佈到 Webhook」規則指向 Zapier 的接收 Hook觸發程序或 n8n 的Webhook節點。Feeder 會監看動態消息並篩選文章,之後由您的工作流程接手處理。
如何使用指令碼將 RSS 傳送到 Webhook?
以下 Python 指令碼會將單一動態消息中的每篇新文章傳送到您的 Webhook。指令碼會將已傳送項目記錄在 seen.txt,因此每篇項目只會傳送一次。第一次執行時,會傳送當下動態消息中的所有項目。
import json, pathlib, urllib.request
import feedparser # pip install feedparser
FEED_URL = "https://example.com/feed.xml"
WEBHOOK_URL = "https://example.com/hooks/rss"
seen_file = pathlib.Path("seen.txt")
seen = set(seen_file.read_text().split()) if seen_file.exists() else set()
for entry in reversed(feedparser.parse(FEED_URL).entries):
key = entry.get("id") or entry.get("link")
if not key or key in seen:
continue
payload = {"title": entry.get("title"), "url": entry.get("link"), "published": entry.get("published")}
request = urllib.request.Request(WEBHOOK_URL, data=json.dumps(payload).encode(),
headers={"Content-Type": "application/json"})
urllib.request.urlopen(request, timeout=30)
seen.add(key)
seen_file.write_text("\n".join(seen))
您需要 Python 3 和 feedparser 套件(pip install feedparser)。請設定排程執行,例如使用 cron 每 15 分鐘執行一次:*/15 * * * * cd /path/to/folder && python3 rss_to_webhook.py。如果端點回傳錯誤,指令碼會停止,下次執行時會再次嘗試傳送同一篇文章。
常見問題
可以使用「發佈到 Webhook」將 RSS 傳送到 Slack、Teams 或 Discord Webhook 嗎?
無法直接傳送。Feeder 使用自己的 JSON 格式,不是這些應用程式所需的訊息格式。請改用 Feeder 的發佈到 Slack、發佈到 Microsoft Teams 或發佈到 Discord規則,或在中間加入 Zapier、Make 或 n8n。
哪個 Feeder 方案包含 Webhook?
Professional 包含「發佈到 Webhook」。在 Plus 方案中,也可以使用篩選、加上星號或收集文章的規則。
Webhook 會包含完整文章嗎?
Webhook 會包含動態消息所提供的內容。如果動態消息包含全文,content 就會包含完整文章;如果動態消息只有摘要,則會包含摘要。
儲存規則之前,可以先測試端點嗎?
可以。傳送測試訊息會從您的動態消息中選取一篇實際文章,傳送至您的網址。您的帳戶中至少需要有一個包含文章的動態消息。
試用 Feeder
Feeder 是適用於網頁、iOS 和 Android 的 RSS 閱讀器,也提供 Chrome、Firefox 和 Edge 擴充功能。免費方案可追蹤最多 200 個動態消息,沒有廣告,更新頻率最快為每 30 分鐘一次。Plus 可追蹤 2,500 個動態消息,更新頻率最快為每 5 分鐘一次,並提供電子郵件摘要。