只有这种方法了,fopen的速度并不慢,是不是对方网站的反应速度慢?

解决方案 »

  1.   

    to kingerq(多菜鸟) : 我在IE下打开网站比较快, 同一个网站用fopen就很慢. 
    你使用时速度怎么样?
      

  2.   

    可以用fsockopen 函数
    <?php
    $fp = fsockopen("www.163.com", 80, &$errno, &$errstr, 10);
    if(!$fp) {
            echo "$errstr ($errno)<br>\n";
    } else {
            fputs($fp,"GET / HTTP/1.0\nHost: www.163.com\n\n");
            while(!feof($fp)) {
                    echo fgets($fp,128);
            }
            fclose($fp);
    }
    ?>
      

  3.   

    可以通过下面语句传递参数 get 数据过去,php 发送手机短信到主机上就是这样做的
    <?
    .....................
    fputs($fp,"GET /servlet/Submit?msg=".strip_tags(urlencode($msginfo))."&to=".$mobileno."&user=12315&pass=test  HTTP/1.0\nHost: panx\n\n");
    .....................
    ?>
      

  4.   

    用这个吧:fsockopen
    前提是先查查RFC这个怎么玩起来的,然后再模拟一个http请求就可以了
      

  5.   

    用include结合ob系列函数也可以获得,不过也很慢....
      

  6.   

    以下是我当时读取别网站的内容时用的,给你做参考 ,代码很乱,自己整理一下吧
    <?php$filename = "data3.txt";$infile = fopen($filename, "r+w+b");//for ($i=144;$i<2226;$i++){
    for ($i=1801;$i<2226;$i++){
    $file = "http://www.yy-s.com/flashsites/data/".$i.".xml";$handle = fopen ($file, "rb");
    $contents = "";
    do {
       $data = fread($handle, 1024);
       if (strlen($data) == 0) {
           break;
       }
       $contents .= $data;
    //   $_temp = str_replace("preview/","http://www.yy-s.com/preview/",$contents);
    // $temp = explode("http://",$_temp);
       $text = $contents."\n";
    //   echo $text."\n";fwrite($infile, $text);} while(true);
    fclose ($handle);
    }
    //fclose ($filename);
    ?>
      

  7.   

    还是用FSOCKOPEN好,用FOPEN,会被封的
      

  8.   

    嗯,不过很多服务器,好像url_fopen都是开着的。。