获取上一个可用的URL

时间:2014-10-05 14:54:53

标签: php image api url

我正在使用API​​来获取用户个人资料照片。电话看起来像这样

https://familysearch.org/platform/tree/persons/{$rid}/portrait?access_token={$_SESSION['fs-session']}&default=https://eternalreminder.com/dev/graphics/{$default_gender}_default.svg

此链接仅工作约一小时,因为用户的会话令牌随后到期。我想知道是否有任何方法可以检索最后返回的返回URL,这将是图像的直接链接,因此我可以将其存储在数据库中。

我曾尝试使用Google,但我真的不知道从哪里开始。

提前致谢!

1 个答案:

答案 0 :(得分:1)

我能够解决自己的问题。它正在进行重定向以获取图像,我只需要该URL。这是我的代码,帮助我到达那里。

$url="http://libero-news.it.feedsportal.com/c/34068/f/618095/s/2e34796f/l/0L0Sliberoquotidiano0Bit0Cnews0C12735670CI0Esaggi0Eper0Ele0Eriforme0Ecostituzionali0EChiaccherano0Ee0Eascoltano0Bhtml/story01.htm";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // Must be set to true so that PHP follows any "Location:" header
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$a = curl_exec($ch); // $a will contain all headers

$url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL); // This is what you need, it will return you the last effective URL

// Uncomment to see all headers
/*
echo "<pre>";
print_r($a);echo"<br>";
echo "</pre>";
*/

echo $url; // Voila