从谷歌警报链接中提取原始url
我希望有人能帮我解决这个小问题 我正在使用Google Alerts在网站上列出突发新闻,不幸的是,当我试图在Google Alerts之前找到原始url时,我得到的只是一个Google url,如下所示 &ct=ga&cad=Cacqargaaao或Cacqargaaaoabaroxitigialaawabibvvvvvvt&cd=ZQHHhnCXS8w&usg=AFQJCNGGGZGSY3KVMJUW0ICYSCTRZ2UJA 我已经将这个url分成了相关的部分,以便更容易理解,第一部分总是完全相同的,但是第二部分和第三部分会发生变化。然而,第三部分总是以&ct=开头,我假设它是查询的一部分从谷歌警报链接中提取原始url,url,extract,Url,Extract,我希望有人能帮我解决这个小问题 我正在使用Google Alerts在网站上列出突发新闻,不幸的是,当我试图在Google Alerts之前找到原始url时,我得到的只是一个Google url,如下所示 &ct=ga&cad=Cacqargaaao或Cacqargaaaoabaroxitigialaawabibvvvvvvt&cd=ZQHHhnCXS8w&usg=AFQJCNGGGZGSY3KVMJUW0ICYSCTRZ2UJA 我已经将这个url分成了相关的部分,以便更容易理解,第一部分总是
在我正在使用的脚本中,整个URL被分配为$Link(如果可能的话),我想从谷歌Altvices URL中提取原始源URL,这样属性就可以转到它要去的地方而不是中间的人!p> 我的php知识是非常基础的,所以任何关于这方面的帮助都将不胜感激
谢谢您可以使用此函数,它基本上获取起始URL,遵循所有重定向并返回最后一个有效URL
/**
* Get target url from a redirect
*
* @param string $url Source url
* @return string
*/
function getLastEffectiveUrl($url) {
// initialize cURL
$curl = curl_init($url);
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
));
// execute the request
$result = curl_exec($curl);
// fail if the request was not successful
if ($result === false) {
curl_close($curl);
return null;
}
// extract the target url
$redirectUrl = curl_getinfo($curl, CURLINFO_EFFECTIVE_URL);
curl_close($curl);
return $redirectUrl;
}
用法很简单。如果我们想获取马克·扎克伯格个人资料图像的最后一个有效URL,我们将调用如下函数:
$lastEffectiveUrl = getLastEffectiveUrl('http://graph.facebook.com/4/picture');
调用后$lastEffectiveUrl的值应为预期值:
'http://profile.ak.fbcdn.net/hprofile-ak-snc4/157340_4_3955636_q.jpg';
所有的功劳都是为了写这篇文章的人,我只是做了一些挖掘: