PHP批量解析百度快照链接和百度搜索链接

因为博客更换了域名,需要提交给百度站长进行改版,之前试了很多次站点改版和规则改版,因为各种问题一直不通过,只能尝试使用url对改版,但是使用site:networkcabin.com查询到的快照地址不是博客文章的源地址而是http://www.baidu.com/link?url=开头的链接,这时候就可以使用这个解析实例,完成百度快照链接转换为实际文章链接。

百度快照链接:http://www.baidu.com/link?url=tb_HgjbRkjq4qiWIEOPmT9bj6NXqRjv7W6K9YrJnKxXAm5oYj8HTAzqWwpK2yTu4

实际文章链接:https://www.networkcabin.com/original/1277

PHP实例代码:

<?php

//支持使用数组,一次提交N多个
$arrays=array(
	1=>'http://www.baidu.com/link?url=tb_HgjbRwkq4qiWIEOPmT9bj7NXqRjv7W6K9YrJnKyXHm5oYj8HTAzqWwpK1yTu4'
);

for($i=1;$i<=count($arrays);$i++)
{
	$url = $arrays[$i];
	$info = parse_url($url);
	$fp = fsockopen($info['host'], 80,$errno, $errstr, 30);
	fputs($fp,"GET {$info['path']}?{$info['query']} HTTP/1.1\r\n");
	fputs($fp, "Host: {$info['host']}\r\n");
	fputs($fp, "Connection: close\r\n\r\n");
	$rewrite = '';
	while(!feof($fp)) {
		$line = fgets($fp);
		if($line != "\r\n" ) {
			if(strpos($line,'Location:') !== false) {
				$rewrite = str_replace(array("\r","\n","Location: "),'',$line);
			}
		}else {
			break;
		}
	}
	var_dump($rewrite);
	echo('<p></p>');
}

?>

最终实现效果:

www.networkcabin.com/original/836

www.networkcabin.com/original/506

www.networkcabin.com/original/866

THE END