php curl的几种用法

总结一下项目中用到curl的几种方式
1. php curl的默认调用方法,get方式访问url
....
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);    //设置http头
    curl_setopt($ch, CURLOPT_ENCODING, "gzip" );         //设置为客户端支持gzip压缩
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30 );  //设置连接等待时间
    curl_setopt($ch, CURLOPT_URL, $url );
    curl_exec( $ch );
    if ($error = curl_error($ch) ) {
        //出错处理
        return -1;
    }
    fclose($fp);  

    $curl_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);        //获取http返回值
    if( $curl_code == 200 ) {
        //正常访问url
    }
    //异常
....

2. 设置http header支持curl访问lighttpd服务器
$header[]= 'Expect:';   

3. 设置curl,只获取http header,不获取body:
curl_setopt($ch, CURLOPT_HEADER, 1);  
curl_setopt($ch, CURLOPT_NOBODY, 1);   

或者只获取body:
    curl_setopt($ch, CURLOPT_HEADER, 0);   // make sure we get the body
    curl_setopt($ch, CURLOPT_NOBODY, 0); 

4. 访问虚拟主机,需设置Host
$header[]= 'Host: '.$host; 
5. 使用post, put, delete等REStful方式访问url
post:
    curl_setopt($ch, CURLOPT_POST, 1 );
put, delete:
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE");  //或者PUT,需要服务器支持这些方法。
6. 保存下载内容为文件
    curl_setopt($ch, CURLOPT_FILE, $fp);

本文链接地址: http://blog.59trip.com/archives/160

你可能感兴趣的:(java,PHP,Blog,lighttpd,FP)