论坛首页 编程语言技术论坛

php curl的几种用法

浏览 11212 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-06-26   最后修改:2009-06-26
PHP
总结一下项目中用到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
   发表时间:2009-06-26  
要想简单方便,建议使用pear里的HTTP_Request
我自己感觉比直接使用更方便。

HTTP_Request是把curl又封装了一下。
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics