微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP – Referer重定向脚本

通常,当搜索答案时,如果引用者是google.com,我发现某些网站将允许您阅读他们提供的信息.但是,如果您直接链接到该信息,它将不可用.

我正在寻找的是最小的PHP脚本,将设置我的选择的引用者,以及目的地,如下所示:

http://example.com/ref_red.PHP?referer=http://google.com/&end=http://example.net/

笔记:

> ref_red.PHP是我示例中脚本的名称.
> refferer和end应该接受http,https,ftp.
> refferer和end可以包含任何类型的URI,简单到http://end.com或复杂的:
例如http://example.com/some/rr/print.pl?document=rr.

注意:按照回覆建议,我补充说.脚本本身不是一个完整的代理.只有初始的HTTP请求将被代理(不是后续的请求,如图像等),仅用于设置引用者.

这个功能应该给你一个起点
它将使用指定的引用来抓取任何http url

处理查询语法应该是微不足道的,所以我会离开那个部分为你做

<?PHP

    echo geturl('http://some-url','http://referring-url');

    function geturl($url,$referer) { 

        $headers[] = 'Accept: image/gif,image/x-bitmap,image/jpeg,image/pjpeg,text/html,application/xhtml+xml'; 
        $headers[] = 'Connection: Keep-Alive'; 
        $headers[] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8'; 
        $useragent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)'; 

        $process = curl_init($url); 
        curl_setopt($process,CURLOPT_HTTPHEADER,$headers); 
        curl_setopt($process,CURLOPT_HEADER,0); 
        curl_setopt($process,CURLOPT_USERAGENT,$useragent);
        curl_setopt($process,CURLOPT_REFERER,$referer);
        curl_setopt($process,CURLOPT_TIMEOUT,30); 
        curl_setopt($process,CURLOPT_RETURNTRANSFER,1); 
        curl_setopt($process,CURLOPT_FOLLOWLOCATION,1); 

        $return = curl_exec($process); 
        curl_close($process); 

        return $return; 
    } 

?>

原文地址:https://www.jb51.cc/php/132832.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐