• 2009-03-16

    php的curl实现get和post - [php学习]

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://wanping.blogbus.com/logs/36629841.html

    类似于dreamhost这类主机服务商,是显示fopen的使用的。使用php的curl可以实现支持FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE和LDAP。curl 支持SSL证书、HTTP POST、HTTP PUT 、FTP 上传,kerberos、基于HTT格式的上传、代理、cookie、用户+口令证明、文件传送恢复、http代理通道就最常用的来说,是基于http的 get和post方法。

    代码实现:

    1、http的get实现

    $ch = curl_init("/") ;
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;
    curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;
    $output = curl_exec($ch) ;
    $fh = fopen("out.html", 'w') ;
    fwrite($fh, $output) ;
    fclose($fh) ;

    2、http的post实现

    //extract data from the post
    extract($_POST) ; 
    //set POST variables
    $url = '/get-post.php' ;
    $fields = array(
                            'lname'=>urlencode($last_name) ,
                            'fname'=>urlencode($first_name) ,
                            'title'=>urlencode($title) ,
                            'company'=>urlencode($institution) ,
                            'age'=>urlencode($age) ,
                            'email'=>urlencode($email) ,
                            'phone'=>urlencode($phone)
                    ); 
    //url-ify the data for the POST
    foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&' ; }
    rtrim($fields_string ,'&') ;
    //open connection
    $ch = curl_init() ;
    //set the url, number of POST vars, POST data
    curl_setopt($ch, CURLOPT_URL,$url) ;
    curl_setopt($ch, CURLOPT_POST,count($fields)) ;
    curl_setopt($ch, CURLOPT_POSTFIELDS,$fields_string) ;
    //execute post
    $result = curl_exec($ch) ;
    //close connection
    curl_close($ch) ;


    历史上的今天:


    收藏到:Del.icio.us