加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱制作网_潮州站长网 (http://www.0768zz.com/)- 物联安全、建站、操作系统、云计算、数据迁移!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP CURL用法介绍

发布时间:2022-07-27 12:09:22 所属栏目:PHP教程 来源:互联网
导读:PHP CURL的作用对于很多应用来说有很大的用处,下面我来详细介绍php curl用法详解,有需要了解的朋友可进入参考。 PHP中的CURL函数库(Client URL Library Function) curl_close 关闭一个curl会话 curl_copy_handle 拷贝一个curl连接资源的所有内容和参数 cur
  PHP CURL的作用对于很多应用来说有很大的用处,下面我来详细介绍php curl用法详解,有需要了解的朋友可进入参考。
 
  PHP中的CURL函数库(Client URL Library Function)
 
  curl_close — 关闭一个curl会话
 
  curl_copy_handle — 拷贝一个curl连接资源的所有内容和参数
 
  curl_errno — 返回一个包含当前会话错误信息的数字编号
 
  curl_error — 返回一个包含当前会话错误信息的字符串
 
  curl_exec — 执行一个curl会话
 
  curl_getinfo — 获取一个curl连接资源句柄的信息
 
  curl_init — 初始化一个curl会话
 
  curl_multi_add_handle — 向curl批处理会话中添加单独的curl句柄资源
 
  curl_multi_close — 关闭一个批处理句柄资源
 
  curl_multi_exec — 解析一个curl批处理句柄
 
  curl_multi_getcontent — 返回获取的输出的文本流
 
  curl_multi_info_read — 获取当前解析的curl的相关传输信息
 
  curl_multi_init — 初始化一个curl批处理句柄资源
 
  curl_multi_remove_handle — 移除curl批处理句柄资源中的某个句柄资源
 
  curl_setopt_array — 以数组的形式为一个curl设置会话参数
 
  curl_setopt — 为一个curl设置会话参数
 
  curl_version — 获取curl相关的版本信息
 
  curl_init()函数的作用初始化一个curl会话,curl_init()函数唯一的一个参数是可选的,表示一个url地址。
 
  curl_exec()函数的作用是执行一个curl会话,唯一的参数是curl_init()函数返回的句柄。
 
  curl_close()函数的作用是关闭一个curl会话,唯一的参数是curl_init()函数返回的句柄。
 
  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服务器,Java代码如下:
 
  $header[]= 'Expect:';$header[]= 'Expect:';
 
  3. 设置curl,只获取http header,不获取body,Java代码如下:
 
  curl_setopt($ch, CURLOPT_HEADER, 1);  
  curl_setopt($ch, CURLOPT_NOBODY, 1);
  curl_setopt($ch, CURLOPT_HEADER, 1);  
  curl_setopt($ch, CURLOPT_NOBODY, 1);
  或者只获取body,Java代码如下:
 
  curl_setopt($ch, CURLOPT_HEADER, 0); // make sure we get the body  
  curl_setopt($ch, CURLOPT_NOBODY, 0);
  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,代码如下:
 
  curl_setopt($ch, CURLOPT_POST,1); put, delete: curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "DELETE"); //或者PUT,需要服务器支持这些方法。
 
  6.保存下载内容为文件,代码如下:
 
  curl_setopt($ch, CURLOPT_FILE, $fp);
 
  模拟POST请求,代码如下:
 
  <?PHP  
      $url = 'POST_URL';  
      $fields=array(  
          'a' => 'a',  
          'b'   => 'b',  
      );  
         
      $ch = curl_init();  
      curl_setopt($ch, CURLOPT_URL, $url);  
      curl_setopt($ch, CURLOPT_POST, count($fields));  
      curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);  
      ob_start();  
      curl_exec($ch);  
         
      $result = ob_get_contents();  
         
      ob_end_clean();  
      echo $result;  
      curl_close($ch);
  ?> 

(编辑:我爱制作网_潮州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读