php·¢ËÍget¡¢postÇëÇóµÄ6ÖÖ·½·¨¼òÃ÷×ܽá

5年以前  |  阅读数:978 次  |  编程语言:PHP 

*½¨1: ÓÃfile_get_contents ÒÔget½Ê½»ñÈ¡ÄÚÈÝ£º


    <?php
    $url='http://www.jb51.net/';
    $html = file_get_contents($url);
    echo $html;
    ?>

*½¨2: ÓÃfopen´o¿ªurl, ÒÔget½Ê½»ñÈ¡ÄÚÈÝ£º


    <?php
    $fp = fopen($url, ¡®r');
    stream_get_meta_data($fp);
    while(!feof($fp)) {
    $result .= fgets($fp, 1024);
    }
    echo ¡°url body: $result¡±;
    fclose($fp);
    ?>

*½¨3£ºÓÃfile_get_contentsº¯Êý,ÒÔpost½Ê½»ñÈ¡url


    <?php
    $data = array (¡®foo' => ¡®bar');
    $data = http_build_query($data);

    $opts = array (
    ¡®http' => array (
    ¡®method' => ¡®POST',
    ¡®header'=> ¡°Content-type: application/x-www-form-urlencodedrn¡± .
    ¡°Content-Length: ¡± . strlen($data) . ¡°rn¡±,
    ¡®content' => $data
    )
    );

    $context = stream_context_create($opts);
    $html = file_get_contents(¡®http://localhost/e/admin/test.html', false, $context);

    echo $html;
    ?>

*½¨4£ºÓÃfsockopenº¯Êý´o¿ªurl£¬ÒÔget½Ê½»ñÈ¡ÍeÕuµÄÊý¾Ý£¬°uÀ¨headerºÍbody,fsockopenÐeÒª PHP.ini ÖÐ allow_url_fopen Ñ¡Ïi¿ªÆo


    <?php
    function get_url ($url,$cookie=false)
    {
    $url = parse_url($url);
    $query = $url[path].¡±?¡±.$url[query];
    echo ¡°Query:¡±.$query;
    $fp = fsockopen( $url[host], $url[port]?$url[port]:80 , $errno, $errstr, 30);
    if (!$fp) {
    return false;
    } else {
    $request = ¡°GET $query HTTP/1.1rn¡±;
    $request .= ¡°Host: $url[host]rn¡±;
    $request .= ¡°Connection: Closern¡±;
    if($cookie) $request.=¡±Cookie:  $cookien¡±;
    $request.=¡±rn¡±;
    fwrite($fp,$request);
    while(!@feof($fp)) {
    $result .= @fgets($fp, 1024);
    }
    fclose($fp);
    return $result;
    }
    }
    //»ñÈ¡urlµÄhtml²¿*Ö£¬È¥µoheader
    function GetUrlHTML($url,$cookie=false)
    {
    $rowdata = get_url($url,$cookie);
    if($rowdata)
    {
    $body= stristr($rowdata,¡±rnrn¡±);
    $body=substr($body,4,strlen($body));
    return $body;
    }

    return false;
    }
    ?>

*½¨5£ºÓÃfsockopenº¯Êý´o¿ªurl£¬ÒÔPOST½Ê½»ñÈ¡ÍeÕuµÄÊý¾Ý£¬°uÀ¨headerºÍbody


    <?php
    function HTTP_Post($URL,$data,$cookie, $referrer=¡±")
    {

    // parsing the given URL
    $URL_Info=parse_url($URL);

    // Building referrer
    if($referrer==¡±") // if not given use this script as referrer
    $referrer=¡±111¡a;

    // making string from $data
    foreach($data as $key=>$value)
    $values[]=¡±$key=¡±.urlencode($value);
    $data_string=implode(¡°&¡±,$values);

    // Find out which port is needed ¨C if not given use standard (=80)
    if(!isset($URL_Info["port"]))
    $URL_Info["port"]=80;

    // building POST-request:
    $request.=¡±POST ¡°.$URL_Info["path"].¡± HTTP/1.1n¡±;
    $request.=¡±Host: ¡°.$URL_Info["host"].¡±n¡±;
    $request.=¡±Referer: $referern¡±;
    $request.=¡±Content-type: application/x-www-form-urlencodedn¡±;
    $request.=¡±Content-length: ¡°.strlen($data_string).¡±n¡±;
    $request.=¡±Connection: closen¡±;

    $request.=¡±Cookie:  $cookien¡±;

    $request.=¡±n¡±;
    $request.=$data_string.¡±n¡±;

    $fp = fsockopen($URL_Info["host"],$URL_Info["port"]);
    fputs($fp, $request);
    while(!feof($fp)) {
    $result .= fgets($fp, 1024);
    }
    fclose($fp);

    return $result;
    }

    ?>

*½¨6:ʹÓÃcurl¿a£¬Ê¹ÓÃcurl¿a֮ǰ£¬¿ÉÄÜÐeÒª²e¿´Ò»ÏÂphp.iniÊÇñÒѾ­´o¿ªÁËcurlÀ(C)Õ¹


    <?php
    $ch = curl_init();
    $timeout = 5;
    curl_setopt ($ch, CURLOPT_URL, ¡®http://www.jb51.net/');
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    $file_contents = curl_exec($ch);
    curl_close($ch);

    echo $file_contents;
    ?>
 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例