有没有办法在不加载内容的情况下获取重定向 URL


Is there a way I can get the redirect URL without loading the content?

我收到一个服务(具体来说就是 Beats 服务)的请求,我不想暴露我的client_id。我能够隐藏它的所有内容,除了可以使用client_id检索的静态图像。因此,这是请求:

https://partner.api.beatsmusic.com/v1/api/tracks/tr58141709/images/default?client_id=XXXXXXX

访问此请求时,URL 会重定向到静态图像。如何在不将内容加载到服务器的情况下检索重定向的 URL(我只是不想这样做。这可能是一个非常小的开销,因为艺术品尺寸很小,但我不想拥有它)?

我正在使用Guzzle作为PHP的Http客户端,但这不是我的主要关注点,因为如果我在不加载内容的情况下了解这个东西是如何工作的,我将能够强制执行我想要的Guzzle。

使用 curl:

$url = 'https://partner.api.beatsmusic.com/v1/api/tracks/tr58141709/images/default?client_id=XXXXXXX';
$ch = curl_init($url);
curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
// check if we've received a redirect in the Location header
if (array_key_exists('redirect_url', $info)) {
        // do something with the Location header value
        echo $info['redirect_url'];
}