<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    李威 さぽている

    小說翻譯,日語相關轉移至http://blog.hjenglish.com/liwei

    如何破掉防盜鏈機制

    今天遇到一個問題,寫了一個頁面,抓取其他某站點的內容,然后重組成新的頁面,主要是一個圖片的展示(gallery)。

    但是該站點做了防盜鏈,圖片無法顯示,403.

    這種盜鏈主要是靠Referer來實現的,也就是說更改了Referer就能顯示圖片,但Referer不是在頁面編碼能解決的。

    Referer是瀏覽器發出的,只能更改瀏覽器才能更改Referer。

    firefox有一個插件refcontrol,可以做到這一點,不過不是我要說的

    繼續研究,該站提供一種embed功能,供其他頁面調用,此時就能允許其他站點直接顯示圖片。
    一般網站是不提供這種功能的,所以下面方法并不是所有網站適用的。

    通過對比header內容,最終知道是它在cookie里設定了一個字段,以此來判別。

    那么,只要我設定該值即可。
    兩種方法
    1.服務器端設定set-cookie,試驗證明,此法不可行,主要是domain無法更改到對應站點的domain下
    2.客戶端用javascript設定document.cookie。仍不行……,原因不明,大概也是無法改domain吧

    這下只剩最后一招了,在我的頁面里直接調用embed頁面,讓它替我設cookie,如何調用呢?
    首先想到用frame,試了下,frame和圖片幾乎同時發出request,這樣cookie還沒設定,請求圖片肯定403.
    又想到onload,呃,是在body完了后才調用,肯定不行
    后來看到,html的head里的文件先下載完畢后,再請求圖片。這點我以前也提到過,javascript代碼的執行順序 
    head里主要有2種文件調用,js和css。
    這里就不是什么正規寫法了,因為embed頁面既不是js文件,也不是css文件,但瀏覽器是不會管這個的,直接調用。
    一般也不會這么用……旁門左道
    先用了js這種,在src里寫上embed頁面地址,可以顯示圖片,但有個javascript錯誤。
    接著改進,用css的,會發現最終調用了兩次,一次是在開始,還有一次是在所有其他head文件全下載完之后
    有些小影響,但問題不大。

    時間比較晚,就懶得加上試驗代碼,OK,就這樣,完工。

    posted on 2010-08-10 00:19 李威 閱讀(842) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲午夜久久久精品影院| 亚洲三级在线免费观看| 一区在线免费观看| 国产精品久久香蕉免费播放| 亚洲久悠悠色悠在线播放| 91免费国产在线观看| 亚洲导航深夜福利| 国产成人亚洲精品青草天美| 亚洲av无码成人影院一区| 成人毛片18女人毛片免费视频未 | 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 日韩午夜理论免费TV影院| 亚洲AV无码码潮喷在线观看| 嫩草成人永久免费观看| 亚洲视频在线一区| 最近中文字幕mv免费高清视频8 | 男女做羞羞的事视频免费观看无遮挡 | 亚洲日韩中文字幕日韩在线| 一级做性色a爰片久久毛片免费| 久久亚洲精品无码播放| 成在人线av无码免费高潮水| 亚洲国产精品嫩草影院在线观看| 日本人成在线视频免费播放| 麻豆亚洲AV永久无码精品久久| 13一14周岁毛片免费| 99久久婷婷国产综合亚洲| 啦啦啦www免费视频| 羞羞漫画登录页面免费| 豆国产96在线|亚洲| 亚洲国产精品自产在线播放| 插鸡网站在线播放免费观看 | 亚洲第一成年免费网站| 亚洲 另类 无码 在线| www永久免费视频| 亚洲av无码专区国产乱码在线观看| 999久久久免费精品播放| 亚洲av成人综合网| 国产精品另类激情久久久免费 | 波多野结衣免费一区视频 | 中文毛片无遮挡高潮免费| 亚洲人av高清无码|