PHP函数分享之curl方式取得数据、模拟登陆、POST数据

  废话不多说直接上代码

  

复制代码 代码如下:

  /********************** curl 系列 ***********************/

  //直接通过curl方式取得数据(包含POST、HEADER等)

  /*

  * $url: 如果非数组,则为http;如是数组,则为https

  * $header: 头文件

  * $post: post方式提交 array形式

  * $cookies: 0默认无cookie,1为设置,2为获取

  */

  public function curl_allinfo($urls, $header = FALSE, $post = FALSE, $cookies = 0) {

  $url = is_array($urls) ? $urls['0'] : $urls;

  $ch = curl_init();

  curl_setopt($ch, CURLOPT_URL, $url);

  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

  //带header方式提交

  if($header != FALSE){

  curl_setopt($ch, CURLOPT_HTTPHEADER, $header);

  }

  //post提交方式

  if($post != FALSE){

  curl_setopt($ch, CURLOPT_POST, 1);

  curl_setopt($ch, CURLOPT_POSTFIELDS, $post);

  }

  if($cookies == 1){

  curl_setopt($ch, CURLOPT_COOKIEJAR, "cookiefile");

  }else if($cookies == 2){

  curl_setopt($ch, CURLOPT_COOKIEFILE, "cookiefile");

  }

  if(is_array($urls)){

  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

  }

  $data = curl_exec($ch);

  curl_close($ch);

  return $data;

  }