我透過發出 HTTP GET 請求定期存取一個 Web 伺服器,如下所示:http://www.example.com/index.php?file=12&hd=0
它會傳回OK
內容類型為video/x-flv
和各種內容長度的回應。顯然,這會下載一個.flv
文件,並且由於我正在下載它,因此它必須託管在網路上的某個位置。
但是,我不知道如何檢索直接的該文件的 URL。我嘗試過使用 Wireshark 和 Fiddler4,但它們沒有幫助。我正在嘗試獲取 URL,以便我可以使用它同步視頻,它可以接受視訊檔案的直接 URL。但嘗試像上面的範例這樣的連結不起作用。
答案1
我認為沒有其他方法可以存取該文件。 PHP 腳本可能只是讀取私有本機檔案並將資料重新導向到輸出流。
這樣做可能是為了防止熱鏈接。由於必須呼叫 PHP 腳本才能下載文件,因此它可以在將資料串流到客戶端之前檢查某些內容(例如您是否已登入)。
如果腳本不檢查任何內容(或僅檢查您的 IP 位址)且程式只是因為沒有副檔名而拒絕該 URL,您可以嘗試偽造它:
http://www.example.com/index.php?file=12&hd=0&ext=.flv
透過在 URL 中新增一個虛擬參數,使其在.flv
程式中結束,可能會接受該 URL。
答案2
不一定有直接存取文件的方法。
它很可能駐留在網路伺服器上的私人資料夾中,也可能駐留在只有該網路伺服器有權存取的完全不同的伺服器上。發布的 URL 可能是存取該文件的唯一公共方法。
除非您在wireshark捕獲中看到301或302重定向,否則沒有任何方法可以詢問網頁伺服器來找出它從哪裡獲取檔案。