Php 上次加载的CURL资源URL

Php 上次加载的CURL资源URL,php,curl,Php,Curl,我在写一些有点复杂的卷曲。我碰巧遇到了这样一种情况:我需要知道CURL加载的最后一个URL(如果它被重定向),或者仅仅是CURL\u init($URL)中的原始URL 我猜如果它被重定向,我可以解析位置标题: if(preg_match('/^Location:(.*)$/mi', $headers, $matches)>0) { echo "Final location is: {$matches[1]}\n"; //We know location thanks to fol

我在写一些有点复杂的卷曲。我碰巧遇到了这样一种情况:我需要知道CURL加载的最后一个URL(如果它被重定向),或者仅仅是
CURL\u init($URL)
中的原始URL

我猜如果它被重定向,我可以解析
位置
标题:

if(preg_match('/^Location:(.*)$/mi', $headers, $matches)>0) {
   echo "Final location is: {$matches[1]}\n";  //We know location thanks to follow location
}
else {
   echo "Well, I'm doomed...\n";  //We don't know anything
}
顺便说一下,这就是我不喜欢PHP中的资源那么难的原因

再想想我意识到上面的脚本不起作用-重定向时加载的最后一页不会发送任何
位置
标题。否则你会再次被重定向

试试这个:

$last_URL = curl_getinfo ( $ch ,CURLINFO_EFFECTIVE_URL   );
注意:如果CURL达到重定向限制或
CURLOPT\u FOLLOWLOCATION
设置为false(例如在安全模式下),那么您应该检查位置标题。

再考虑一下:最后一页不发送位置-除非达到指定位置。