我用fopen好像没有效果

解决方案 »

  1.   

    最简单的$ch = curl_init();
    $url = 'http://www.baidu.com';
    curl_setopt($ch, CURLOPT_URL, $url); //POST 提交的参数写在一个数组里面,也可以是username=kyzy&password=kyzy形式
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //获得返回内容,但不需要直接输出到页面上
    curl_setopt($ch, CURLOPT_TIMEOUT, 30); //时间延迟
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);$output = curl_exec($ch); //执行,并接收返回的内容
    curl_close($ch);
    echo $output;
      

  2.   

    http请求的话最好用curl或者fsockopen
    fopen和file_get_contents相对较慢,且需要设置支持,即php.ini的allow_url_fopen = on
      

  3.   

    为什么
    fsockopen( $InterfaceSrc );
    还是不行
      

  4.   

    $cnn = fsockopen('www.baidu.com', 80 , $errno,$errstr,10);
    if(!$cnn){
       exit("Could not connect to host!");
    }
    fwrite($cnn,"GET / HTTP/1.0\r\n");
    fwrite($cnn,"Host:www.baidu.com\r\n");
    fwrite($cnn,"Connection:close\r\n\r\n");

    while(!feof($cnn)){
       $content .= fgets( $cnn,1024);
    }
    fclose( $cnn );

    echo $content;
      

  5.   

    你用curl,fsockopen是打开一个socket
      

  6.   

            $cnn = fsockopen('www.baidu.com', 80 , $errno,$errstr,10);
            if(!$cnn){
               exit("Could not connect to host!");
            }
            fwrite($cnn,"GET /a/b/index.php?a=1&b=2 HTTP/1.0\r\n");//假设baidu有此页面
            fwrite($cnn,"Host:www.baidu.com\r\n");
            fwrite($cnn,"Connection:close\r\n\r\n");
            
            while(!feof($cnn)){
               $content .= fgets( $cnn,1024);
            }
            fclose( $cnn );
            
            echo $content;