我正在爲我們客戶的網站之一進行網絡抓取。所有工作正常。但是我收到了一個字體不起作用的問題。我得到的鉻控制檯以下錯誤:在 網絡抓取字體訪問問題
訪問字體「https://www.example.com/fonts/fontawesome-webfont.woff?v=4.2.0」從 出身「http://www.mydomain」已被阻止通過CORS政策:否 「訪問控制允許來源」標頭是存在在請求的 資源。原因'http://www.mydomain'因此不允許 訪問。
我已經盡力把下面的代碼在http://www.mydomain .htaccess文件,但沒有運氣
的.htaccess
<IfModule mod_headers.c>
<FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css|css)$">
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Headers "Cache-Control, Pragma, Origin, Authorization, Content-Type, X-Requested-With"
Header set Access-Control-Allow-Methods "GET, PUT, POST"
</FilesMatch>
</IfModule>
注意:我不能做任何更改https://www.example.com
並在我的瀏覽器緩存中也被禁用。用於網絡報廢
PHP代碼:
$cookie = 'cookies.txt';
$timeout = 90;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 400);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($ch, CURLOPT_USERAGENT,
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)");
curl_setopt($ch, CURLOPT_FILETIME, true);
$curl_scraped_page = curl_exec($ch);
curl_close($ch);
echo $curl_scraped_page;
EDIT
apache的頭模塊也啓用
請檢查一次頭模塊啓用或不使用'a2enmod頭'。 –
@PareshBarad對不起。我無法得到你。你能解釋更多嗎? –
我已經檢查了你的代碼,但是我沒有發現你的代碼有任何問題,所以我給你啓用** apache headers模塊**的一點點建議,如果你使用的是Linux系統或服務器,那麼你可以按照這個[回答](https://stackoverflow.com/a/22655232) –