现在有些网站需要识别访问的是否为客户端浏览器。如果不是的话,用file_get_contents()获取的内容就为他们的版权信息。如何能将file_get_contents()伪装下。就像Curl函数那样。因为好多空间都不允许用Curl函数。或者有其他很好的办法。非常感谢!

解决方案 »

  1.   

    查一下手册中文件流的应用
    可用file_get_contents()流实现,即第二或第三个参数
    string file_get_contents ( string filename [, bool use_include_path [, resource context [, int offset [, int maxlen]]]] )构造 resource content但file_get_contents()可能不能保存对方发过来的信息
      

  2.   

    自己写socket也不是太麻烦,想冒充什么浏览器都行
      

  3.   

    你用curl或socket自己伪造USER_AGENT不就行了?file_get_contents没那么强的功能。
      

  4.   


    你看看fsockopen()函数和读写函数的文档,另外了解下HTTP协议。下面是PHP手册上的例子,具体的就是改动HTTP请求头里的参数:
    <?php
    $fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
    if (!$fp) {
        echo "$errstr ($errno)<br />\n";
    } else {
        $out = "GET / HTTP/1.1\r\n";
        $out .= "Host: www.example.com\r\n";
        $out .= "Connection: Close\r\n\r\n";    fwrite($fp, $out);
        while (!feof($fp)) {
            echo fgets($fp, 128);
        }
        fclose($fp);
    }
    ?> 
      

  5.   

    看http协议,明白对话的过程,就会自己写类似于curl的东西了。如ls所说
      

  6.   

    使用Socket,用fsockopen自己搞个,冒充什么都行,但是好像一些空间也是不支持的,呵呵。