从PHP代理加载后加载网站

时间:2018-03-15 00:20:32

标签: javascript php cross-domain reverse-proxy

这是我的项目。我正在尝试将网站的内容加载到我的网站上。我无法访问我要检索的网站文件。我试图绕过CORS与一些PHP代理,但问题是该网站有一个基本身份验证框,在访问它时弹出,我相信这是阻止我正确加载网站。我确实有登录信息,但是,我不确定我是否正确地将它输入到CORS代理中。以下是我尝试过的一些事情。

proxy.php

<?php
    header("Access-Control-Allow-Origin: *");

    echo get_page($_GET['url']);
    //echo get_page("http://www.google.com");
    function get_page($url){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL,$url);
        /*
        $proxy = 'http://proxy.company.com:8080';
        $proxyauth = 'domain\proxy_username:proxy_password';
        curl_setopt($ch, CURLOPT_PROXY, $proxy);
        curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyauth);
        */
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_HEADER, 0);
        $data = curl_exec($ch);
        curl_close($ch);
        return $data;
    }
?>

的index.html

 <!DOCTYPE html>
<html>

<head>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

    <script>
        $(document).ready(function(){
            $( "#result" ).load( "http://mywebsite.com/proxy.php?url=https://externalwebsite.com/index.php" );
        });
        </script>

</head>

<body>

    <h1> Test Page Index </h1>

    <div id="result"></div>

</body>

</html>

将其加载到我的div元素后,我得到一个空白页面。我尝试添加以下内容以使其超过基本身份验证:

$username = myusername;
$password = mypassword;
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");

即使在添加之后,我也会得到一个空白页面。我知道PHP有效,因为我能够使用以下内容加载谷歌:

 <!DOCTYPE html>
<html>

<head>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

    <script>
        $(document).ready(function(){
            $( "#result" ).load( "http://mywebsite.com/proxy.php?url=http://google.com" );
        });
        </script>

</head>

<body>

    <h1> Test Page Index </h1>

    <div id="result"></div>

</body>

</html>

0 个答案:

没有答案