总结一下项目中用到curl的几种方式

总结一下项目中用到curl的几种方式
1. php curl的默认调用方法,get方式访问url

  1. php curl的默认调用方法,get方式访问url
  2.     $ch = curl_init();
  3.     curl_setopt($ch, CURLOPT_HTTPHEADER, $header);    //设置http头
  4.     curl_setopt($ch, CURLOPT_ENCODING, “gzip” );         //设置为客户端支持gzip压缩
  5.     curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30 );  //设置连接等待时间
  6.     curl_setopt($ch, CURLOPT_URL, $url );
  7.     curl_exec( $ch );
  8.     if ($error = curl_error($ch) ) {
  9.         //出错处理
  10.         return -1;
  11.     }
  12.     fclose($fp);
  13.     $curl_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);        //获取http返回值
  14.     if( $curl_code == 200 ) {
  15.         //正常访问url
  16.     }
  17.     //异常
  18. ….

2. 设置http header支持curl访问lighttpd服务器

Java代码  收藏代码
  1. $header[]= ‘Expect:’;

3. 设置curl,只获取http header,不获取body:

Java代码  收藏代码
  1. curl_setopt($ch, CURLOPT_HEADER, 1);
  2. curl_setopt($ch, CURLOPT_NOBODY, 1);

或者只获取body:

Java代码  收藏代码
  1. curl_setopt($ch, CURLOPT_HEADER, 0);   // make sure we get the body
  2. 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);

Leave a Reply

Your email address will not be published.