有趣的 FeedBurner 實驗
2008 年 五月 6 日 (星期二) 3:07 pm分類:職場, 電腦
標籤: programming, RSS
FeedBurner 很方便,服務對象已經不限於一般的 blog,甚至連 Crave 科技瘋這樣的媒體也開始借用它的服務。
不過有時候還真是「橫看成嶺側成峰,遠近高低各不同」呀。
請在 Unix 底下進行以下有趣的實驗。先從最簡單的開始吧:
% telnet feeds.feedburner.com 80
HEAD /cnettw/crave HTTP/1.0HTTP/1.0 200 OK
[略]
Content-Type: text/xml;charset=utf-8
如果隨便加一段 User-Agent 資訊:
% telnet feeds.feedburner.com 80
HEAD /cnettw/crave HTTP/1.0
User-Agent: Mozilla/5.0HTTP/1.0 200 OK
[略]
Content-Type: text/xml;charset=utf-8
如果再隨便加一段 Referer 資訊:
% telnet feeds.feedburner.com 80
HEAD /cnettw/crave HTTP/1.0
User-Agent: Mozilla/5.0
Referer: http://www.google.com/HTTP/1.0 200 OK
[略]
Content-Type: text/xml;charset=utf-8
看起來都很正常,都可以拿到我們想要的 RSS 資訊。
如果把最後一個例子的 User-Agent 欄位填上完整的內容:
% telnet feeds.feedburner.com 80
HEAD /cnettw/crave HTTP/1.0
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4
Referer: http://www.google.com/HTTP/1.0 200 OK
[略]
Content-Type: text/html;charset=utf-8
咦?拿到的東西為什麼會從 RSS 變成 HTML 格式了呢?
呃,如果強制加上一段 Accept 設定,應該就沒問題了吧?
% telnet feeds.feedburner.com 80
HEAD /cnettw/crave HTTP/1.0
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4
Accept: application/rss+xml, application/atom+xml, text/xml
Referer: http://www.google.com/HTTP/1.0 200 OK
[略]
Content-Type: text/html;charset=utf-8
唉唉唉,Accept 無效……
看起來,好心提供 User-Agent 及 Referer,反而被 FeedBurner 嫌煩;若是懶惰一點,單獨把 User-Agent 拿掉:
% telnet feeds.feedburner.com 80
HEAD /cnettw/crave HTTP/1.0
Accept: application/rss+xml, application/atom+xml, text/xml
Referer: http://www.google.com/HTTP/1.0 200 OK
[略]
Content-Type: text/xml;charset=utf-8
或是單獨把 Referer 拿掉:
% telnet feeds.feedburner.com 80
HEAD /cnettw/crave HTTP/1.0
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-TW; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4
Accept: application/rss+xml, application/atom+xml, text/xmlHTTP/1.0 200 OK
[略]
Content-Type: text/xml;charset=utf-8
就能正常拿到 RSS 格式的內容了。
唉,我只能說,FeedBurner,我真是搞不懂你呀……


追蹤留言回應:以
引用通告 (trackback):![[add to funP]](http://william.cswiz.org/blog/wp-content/themes/william/images/add-funp.png)
![[add to HEMiDEMi]](http://www.hemidemi.com/sticker/user/roxytom.bluecircus.net.gif)
![[add to udn bookmark]](http://bookmark.udn.com/html/help/80_20_02.gif)

2008 年 五月 6日 於 4:07 pm
funny sunday wrote an interesting post today on
Here’s a quick excerpt [...]
2008 年 五月 11日 於 9:36 pm
是因為要讓使用「沒有直接支援 rss 的 browser」在開啟 rss 時,是以「人看得懂的方式」呈現囉?
題外話,William 怎麼會想要測試這個?
2008 年 五月 12日 於 1:29 pm
FeedBurner 的用意很好,但問題在於忽略了「
Accept」這個指令。FeedBurner 這個問題,是我 trace HTTP protocol 的副產品。