我希望有人能帮助我走出这个小问题..?
我使用谷歌快讯打破新闻报道列出的网站,不幸的是,当我试图找到原来的URL(前谷歌快讯),我得到的是谷歌的网址,如下图所示拉;
http://www.google.com/url?sa=X&q=
http://www.source.com/2013/04/02/title.html
&CT = GA及CAD = CAcQARgAIAAoATAAOABArOXtigVIAlAAWABiBWVuLVVT&CD = ZQHHhnCXS8w&USG = AFQjCNGGGZgSyC3KvMJUW0ICYsCtRZ2uJA
我打破了这个网址到相关科室,使之更容易执行,第一部分总是完全一样的,但是2楼和3件不发生变化。 第三部分却总是和CT =开始我以为是查询的一部分..?
在我使用的脚本,这整个URL被指定为$ LINK&什么,我想这样做,如果可能的是提取自谷歌快讯网址对应的原始源URL,从而使归属飞到哪里,它的目的是去和不这个家伙在中间!
我的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;
}
用法很简单。 如果我们想要获取的马克·扎克伯格的个人形象在过去有效的网址,我们将要求这样的功能:
$lastEffectiveUrl = getLastEffectiveUrl('http://graph.facebook.com/4/picture');
价值$lastEffectiveUrl
通话结束后会预期:
'http://profile.ak.fbcdn.net/hprofile-ak-snc4/157340_4_3955636_q.jpg';
所有的功劳是谁写这篇文章的人,我只是做了小挖: 获取从一系列重定向的最后一个有效的URL指定网址