簡體   English   中英

cURL無法從運行Varnish Cache的服務器下載圖像文件

[英]cURL not able to download image file from server running Varnish Cache

我有以下PHP腳本可以在99%的時間內完美運行。 但是它不會從這台運行Varnish Cache的服務器上下載映像。

<?php

$imglink = 'http://www.dirtrider.com/wp-content/uploads/2014/10/WD-10_1_14-001.jpg';

$ch = curl_init($imglink);
$fp = fopen('/home/path/www/tmp/test.jpg', "w");

curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);

curl_exec($ch);

fclose($fp);

如果使用CURL加載該圖像,則會收到403 Forbidden錯誤。 您可以非常輕松地解決此錯誤。 只需為您的CURL請求添加備用用戶代理:

curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);

等等! 它像一種魅力。 好像Varnishe Cache阻止了使用CURL默認用戶代理的CURL請求。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM