PHP的curl实现get和post

  •   2009-07-31/22:43
  • 类似于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 = 'http://www.webjx.com/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) ;


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多