我做了一個很好的簡單userscript:
當我瀏覽網頁,我可以「書籤」的任何圖像在1點擊
我userscript錯誤與捲曲腳本複製IMG(PHP)時
- 抓鬥在IMG SRC
- 抓取網頁
- 複製的URL .JPG巴紐.gif若要我的服務器
一切都運行完美LY,但在某些情況下,腳本無法複製文件...
實際上,文件被創建,但不包含IMG數據,它只包含一個錯誤網頁的內容:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>403 Forbidden</title>
</head><body>
<h1>Forbidden</h1>
<p>You don't have permission to access /data/x/xxx_xxx_x.jpg on this server.</p>
<p>Additionally, a 403 Forbidden
error was encountered while trying to use an ErrorDocument to handle the request.</p>
<hr>
<address>Apache Server at xxxxxxxx.net Port 80</address>
</body></html>
「複製」代碼(PHP):
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $urlimg);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
set_time_limit(300); # 5 minutes for PHP
curl_setopt($ch, CURLOPT_TIMEOUT, 300); # and also for CURL
$path = $dirpix.'/'.$aa.'/'.$mm;
if (! is_dir($path)) {
mkdir($path);
}
$outfile = fopen($path.'/'.$id.'.'.$ext, 'wb');
curl_setopt($ch, CURLOPT_FILE, $outfile);
curl_exec($ch);
fclose($outfile);
curl_close($ch);
也許網站封鎖那種「複製」腳本? 謝謝!
您是否檢查了返回錯誤消息的網站的政策? 這聽起來像它會是某種[盜鏈預防](http://blog.mark8t.com/2009/02/07/hotlink-prevention-how-to-stop-people-from-linking-to - 你的圖像/)到位。 – mariosangiorgio
nope,我可以熱鏈接,沒問題(我的腳本的第一個版本沒有複製文件,我只是用hotlinks) – jrm