比如我想下载这个图片:
http://down.qqtz.com/attachment/Day_120613/248_1010720_1b320fcc0c7f252.jpg
实际上这个图片跳转到
http://i.qqtz.com/qqtz.png请问,他依据什么来判断是站外的引用而做的跳转?
比如我伪造php访问的referer是他的站都不行?
http://down.qqtz.com/attachment/Day_120613/248_1010720_1b320fcc0c7f252.jpg
实际上这个图片跳转到
http://i.qqtz.com/qqtz.png请问,他依据什么来判断是站外的引用而做的跳转?
比如我伪造php访问的referer是他的站都不行?
2,要求必须提交SESSION-COOKIE,并且可能可能标记了SESSION以便区分外链,比如一个SESSION从来没访问过down.qqtz.com以外的.qqtz.com域名。
问题解决了,我第一次访问网站的时候,他跟我说图片是外部链接,我刷新,图片正常。感觉是cookie起了作用。于是采集图片的时候把请求头的cookie带入下载图片,果然,顺利下载了。
可以curl先拉一次主页面,把cookie拿下来,之后再随便拉它的图片带上referer和cookie就好了
稍带一个问题
如何从下面的字符串提取视频地址?$str = "<script language=\"JavaScript\">player('player_'+1,'http://www.aipai.com/c11/OjY8ICgkJ2gnaiAh/playerOut.swf','600','500','flash');</script>";求正则。
http://www.aipai.com/c11/OjY8ICgkJ2gnaiAh/playerOut.swf[User:root Time:06:52:59 Path:/home/liangdong/php]$ cat preg.php
<?php
$str = <<<EOF
<script language="JavaScript">player('player_'+1,'http://www.aipai.com/c11/OjY8ICgkJ2gnaiAh/playerOut.swf','600','500','flash');</script>
EOF;
$n = preg_match('/player_\'\+1,\'(.*)\'/iUs', $str, $matches);
print_r($matches[1]);
?>
"/<script.+'player(\'player_\'.+,\s+'([^\']+)'.+,\'flash\');<\/script>/eiU",
);
$pregreplace = array(
"mediatag_format('\\1', '".$url."')",
);
return preg_replace($pregfind, $pregreplace, $text);最好把script带进去,而且player('player_'+1这个1可能是一个变数,说不定有些是2有些是3,最好不要带进去。
我主要目的是把这段html转换成ubb代码。
我改成了这样
"/<script.*'player(\'player_\'\d+,\s+'([^\']+)',\s+'(\d+)',\s+'(\d+)',\'flash\');<\/script>/eiU",不知道哪里错了,没匹配上
http://www.aipai.com/c11/OjY8ICgkJ2gnaiAh/playerOut.swf[User:root Time:07:29:48 Path:/home/liangdong/php]$ cat preg.php
<?php
$str = <<<EOF
<script language="JavaScript">player('player_'+1,'http://www.aipai.com/c11/OjY8ICgkJ2gnaiAh/playerOut.swf','600','500','flash');</script>
EOF;
$n = preg_match('/<script language="JavaScript">player\(\'player_\'\+\d+,\'(.*)\'/iUs', $str, $matches);
print_r($matches[1]);
?>
顺便把整个script匹配出来,因为要将整段html转换成ubb嘛,比如[flash]http://www.aipai.com/c11/OjY8ICgkJ2gnaiAh/playerOut.swf[/flash]
matches[0]的结果是:<script language="JavaScript">player('player_'+1,'http://www.aipai.com/c11/OjY8ICgkJ2gnaiAh/playerOut.swf'只取到了其中一段而已。。
print_r($matches);