首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

ASP.NET 破解防盜鏈下載圖片:在 WebClient 加入 Referer 標頭

     編輯:程式設計綜合問答

問題

使用 `WebClient.DownloadFile` 或 `HttpWebRequest` 下載百度等防盜鏈圖片失敗,回傳錯誤頁面而非圖片。

原因

防盜鏈機制檢查 HTTP Request 的 Referer 標頭,若非同站來源則拒絕。

解決:偽造 Referer

using (WebClient wc = new WebClient())
{
    wc.Headers.Add(HttpRequestHeader.Referer, "https://www.baidu.com"); // 或圖片所在頁面 URL
    wc.DownloadFile(imageUrl, localPath);
}

進階技巧

  • 動態設定 Referer 為圖片所在的 HTML 頁面 URL,模擬真實瀏覽行為。
  • 部分網站還檢查 `User-Agent`,建議同時設定:`wc.Headers.Add(HttpRequestHeader.UserAgent, "Mozilla/5.0 ...");`
  • 若需大量下載,注意頻率控制與 IP 封鎖風險,考慮使用代理池。

法律提醒

破解防盜鏈下載圖片可能違反網站服務條款與著作權法,請確認授權範圍後再使用。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved