<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 李威 閱讀(845) 評論(0)  編輯  收藏


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


    網站導航:
     
    主站蜘蛛池模板: g0g0人体全免费高清大胆视频| 亚洲视频国产精品| 亚洲欧洲日产v特级毛片| 亚洲欧洲国产成人精品| 未满十八18禁止免费无码网站 | 亚洲AV无码专区国产乱码电影 | 久久久久免费看成人影片| 亚洲理论电影在线观看| 亚洲人成人网毛片在线播放| 亚欧色视频在线观看免费| 亚洲最大黄色网址| 国产在线国偷精品产拍免费| 国产91精品一区二区麻豆亚洲| 一级免费黄色毛片| 国产亚洲精品观看91在线| 免费国产在线视频| 亚洲激情黄色小说| 国产免费MV大全视频网站| 成人奭片免费观看| 色噜噜噜噜亚洲第一| 亚洲精品一级无码鲁丝片| 成人免费区一区二区三区| 午夜爱爱免费视频| 亚洲AV日韩AV永久无码久久| 最近2018中文字幕免费视频| 亚洲一区二区三区自拍公司| 一级毛片免费观看不卡视频| 亚洲国产成人精品久久| 免费精品99久久国产综合精品| 久久久久久久亚洲Av无码| 成人免费无码大片a毛片| 五月天婷婷免费视频| 亚洲成a人片在线观看中文动漫| 2021精品国产品免费观看| 亚洲AV噜噜一区二区三区| 毛片免费在线播放| 又硬又粗又长又爽免费看 | 亚洲中文字幕一二三四区| 亚洲成av人片在线观看天堂无码| 一区二区在线免费观看| 亚洲AV无码精品国产成人|