-1

经过 3 小时的研究和阅读后,我决定发布这个问题来分享我所达到的并寻求您的帮助,

这是我正在尝试做的我创建了执行 3 个操作的 .php 文件:

1-curl 函数获取远程页面的源代码。

2-创建一个新的 html 文件,其中包含从远程页面获取的代码。

3-在当前窗口中打开这个文件

我首先尝试将它作为远程页面和本地主机在 google.com 上应用它。

localhost/test.php 中的文件 test.php 和代码是:

<?php
    //Get the url
    $url = "http://google.com";

    //Get the html of url
    function get_data($url) 
    { 
       $ch = curl_init();
       $timeout = 5;
       //$userAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US)AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.X.Y.Z Safari/525.13.";
       $userAgent = "IE 7 – Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30)";
      curl_setopt($ch, CURLOPT_USERAGENT, $userAgent);
      curl_setopt($ch, CURLOPT_FAILONERROR, true);
      curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
      curl_setopt($ch, CURLOPT_AUTOREFERER, true);
      curl_setopt($ch, CURLOPT_TIMEOUT, 10);
      curl_setopt($ch,CURLOPT_URL,$url);
      curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
      curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
      $data = curl_exec($ch);
      curl_close($ch);
      return $data;

    }

    $html = file_get_contents($url);
    $fp = @fopen('google.html', 'w') or die('Could not open file, or fike does not exist and failed to create.');
    $mytext = $html;
    @fwrite($fp, $mytext) or die('Could not write to file.');
    ?>
    <script type="text/javascript">
    window.location.href = 'google.html'; //Will take you to Google.
    </script>

它工作得很好:D所以我已经开始在实际站点上申请远程页面链接是从下面的代码动态获取的:

<html>
<script type="text/javascript">
function getQueryVariable(variable,def) {
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if (pair[0] == variable) {
      return pair[1];
    }
  }
  return def;
}
function redirect(){
    window.location.href = 'static/popups/'+getQueryVariable('event_id',0)+getQueryVariable('tv_id',0)+getQueryVariable('tid',0)+getQueryVariable('channel',0)+'.html';
} 
</script>
<body onload="redirect()">
<style>body{background-color: #000000; text-align: center;}</style>
</body></html> 

因此生成的链接将类似于http://remotepage.com/static/popups/xxxxxxxxxxxxx.html其中 xxxxxxxxxxxxx 将是从上面的代码中获得的数字

如何获取 xxxxxxxxxxxxx.html 的代码并在 mysite.com/static/popups/ 创建名为 xxxxxxxxxxxxx.html 的 html 文件

4

1 回答 1

0
<script type="text/javascript">
function getQueryVariable(variable,def) {
  var query = window.location.search.substring(1);  //Returns the query string of the URL.   Eg, anything after "?" in the url.
  var vars = query.split("&");                      //This and the next couple lines just find the right key in the url
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if (pair[0] == variable) {
      return pair[1];
    }
  }
  return def;
}
function redirect(){
    window.location.href = 'static/popups/'+getQueryVariable('event_id',0)+getQueryVariable('tv_id',0)+getQueryVariable('tid',0)+getQueryVariable('channel',0)+'.html';
} 
</script>

因此,获取它的快速简便的方法是使用parse_url获取 url 的查询字符串。
然后,您使用parse_str解析它。
之后,只需将零碎的内容填写到您应该访问的网址中。

Parse_str 返回一个命名数组。因此,如果您的查询字符串是,您可以在解析字符串后?event_id=2&tv_id=100通过转到来获取 event_id 。 然后,用匹配的变量替换对函数的每次调用。将替换为 $arr['event_id']。 $arr['event_id']

getQueryVariable('event_id',0)

如果未定义参数,则改为 0。

于 2013-05-03T00:22:30.387 回答