Heim > Artikel > Backend-Entwicklung > 使用meta跳转之后的网页抓取不了?紧急求教各位高手!
情况是这样的,想用server1上的zq.php抓取 server2上article.php的内容,难题是article.php 好像做盗链自动跳转的防御,利用meta 自动跳转回该页面。下附源码,求各位帮助。
http://server1/zq.php 源码
$url = "http://server2/article.php?id=123";$fp = curl_init();curl_setopt($fp, CURLOPT_URL, $url);curl_setopt($fp, CURLOPT_TIMEOUT, 30);curl_setopt($fp, CURLOPT_FOLLOWLOCATION, 1);ob_start();curl_exec($fp);$contents = ob_get_contents();ob_end_clean();curl_close($ch);//echo "<textarea>".$contents."</textarea>" //这样可以打印出http://server2/article.php?id=123返回的数据echo $contents // 用浏览器访问,直接跳转到http://server1/article.php?id=123 找不到页面404
<html><head><meta http-equiv="refresh" content="1; URL=/article.php?id=123 "/></head></html>
服务端可能会检查 cookie,你既没有接收也没有发送
服务端可能会检查 User-Agent,你没有模拟发送
服务端可能会检查 REFERER,你也没有模拟发送
谢了老大,马上尝试!