1

我正在建立一个经常从 facebook 加载图片的网站。我一直在尝试使用来自Mozilla的本教程,该教程在本地运行良好,但是当我上线时,facebook 不允许我访问这样的图像并返回:

“跨域资源共享策略拒绝了跨域图像加载。”

有没有办法解决这个问题(不涉及缓冲我自己的服务器的图像)?

4

2 回答 2

0

有没有办法解决这个问题(不涉及缓冲我自己的服务器的图像)?

不可以。图像需要在您控制的服务器上(或者您对授予权限的任何人有足够的影响力)。您不能在 Facebook 的服务器上设置 CORS 标头,因此当它们托管在那里时,图像将无法跨域访问。

于 2012-12-21T00:21:09.950 回答
-1

您可能必须拥有他们的 API 密钥才能做到这一点。查阅https://developers.facebook.com/docs/reference/api/

如果您想访问可以从浏览器访问的跨域内容,请使用 PHP 中的 CURL 并使用它调用站点。我将使用简单的 php curl 脚本更新答案。您可以使用它来下载图像,它就像一个代理 :)

<?php

$url = $_GET['url'];

function request($url) {  
    $c = curl_init();
    curl_setopt($c, CURLOPT_URL, $url);
    curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 3);
    curl_setopt($c, CURLOPT_TIMEOUT, 5);
    $response = curl_exec($c);
    $responseInfo = curl_getinfo($c);
    curl_close($c);
    if (intval($responseInfo['http_code']) == 200) {
        return $response;
    } else {
        return false;
    }
}

echo request($url);

?>
于 2012-12-20T14:05:50.507 回答