卡飯上說,因為優酷封了api,所以又回到跨域的問題了;其實這東西很好解決。

flash跨域訪問策略是一個經常會被用來防止資源盜用的方法。由網站根目錄下的crossdomain.xml配置。

下面是優酷的跨域訪問策略

目前通過替換播放器的辦法去廣告的主要有兩種,一種是替換為本地播放器,一種是替換為在線播放器;本地版有很多限制,在此略過;對在線版來說,由於託管播放器的host不在allow-access-from中,flash在執行AS時就(其實是自省的規則)無法得到優酷的視頻源。

解決方法其實是很多的,比如搭個正向代理啊,而且你看大B站……對吧……

但對於我們個人用戶來說,不可能整天電腦掛着nginx,或者為了去廣告去買個VPS,那還不如買個會員233

這裡提供一種炒雞方便的辦法繞過跨域限制。

需要:

  • 可綁定域名的靜態空間,這就多了去了對吧,*AE都是可以的
  • 安裝了用戶腳本管理器的瀏覽器
  • 如果是*nix/Mac用戶,需要root權限

步驟

  1. 上傳播放器文件(可用https://code.google.com/p/haoutil/),假設目標目錄為/antiad,以優酷為例,播放器地址為/antiad/player.swf
  2. 空間綁定域名wqnmlgdsb.tdimg.com,或者隨便想一個符合allow-access-from規則且不會被馬鈴薯/優酷用到的域名
  3. hosts添加一條[空間ip] wqnmlgdsb.tdimg.com
  4. 刷新DNS緩存或重啟
  5. 安裝YoukuAntiADs(http://userscripts.org/scripts/show/119622)
  6. 修改其中的https://haoutil.googlecode.com/svn/trunk/player/testmod/和https://haoutil.googlecode.com/svn/trunk/player/為http://haha.tdimg.com/antiad/,保存

完成

如果你想偷懶,只要在hosts中添加 211.151.13.46 haha.tdimg.com,然後按第6步中修改即可

 

提示:某些國內空間需要備案才能綁定域名,但是你要綁定的馬鈴薯/優酷域名已經備案,所以可以直接拿來用;比如JAE啊什麼的www

提示2:可以用嘗試京東雲

當然如果裝了ProxySwitchSharp之類的,你也可以重定向crossdomain.xml到自己修改的url;前提是你瀏覽器得支持啊233