gravatar

無名相簿的鎖圖

平常抓圖都是使用 Firefox 的 Super Drag & Go, 直接把想要抓的圖拉一下存到某個目錄. 不過針對無名某些像簿就沒有用了. 原因大概如下, 若是有鎖圖, 他的 http header 會包含

Cache-Control: no-cache, ... Pragma: no-cache
這樣一來在 Proxy 或是瀏覽器便不會把這些圖存到 cache, 當 Super Drag & Go 要存圖, 勢必要再從 server 抓一次, 但是這次去 server 要圖, 卻不會送出 Refer, 因此無名就會判斷不合法出現 foribbden 畫面.

針對這個現象, 有兩種解法, 一種是靠 proxy 把 Cache-Control & Pragma header 拿掉, 這樣 Super Drag & Go 存圖就不用重抓也就不會有錯誤. 但是每次抓圖要設定到自己寫的 perl proxy 很麻煩. 另外一種是靠 extension - ModifyHeaders, 不過這個extension非常的陽春. 目前想要的功能是將 pic.wretch.cc 這個網域的 GET method 沒有 Refer 的 Request 加上去. 而原本的沒有任何判斷功能, 只能對所有網域作 Add/Filter Header 功能, 所以當然不能把所有網頁的 Refer 都設成 http://www.wretch.cc/album/show.php.... 這樣. 當然 Mozilla 的 XPCOM 不只能對 Request Header 作修改, 也能對 Response Header 修改.

於是抓了 ModifyHeaders, 作了一些修改, 但是在我的 Firefox 1.0.2 卻沒什麼結果, 就算裝原本作者的版本也沒什麼效果, 大概是那個地方對 FF 1.0.2 不相容, 連起動都沒起來, 只有設定能開.