CURL的使用

CURL的使用

CURL(Client URL)的使用流程:

1. curl_init():初始化cURL;

2. curl_exec():向服务器发送请求,接收服务器数据;

3. curl_close():关闭cURL.

一、CURL的常见的两种使用方式

 1. GET方式

/**
 * CURL GET方式向开放平台请求相关信息
 * @param  [string] $url       抓取的url
 * @param  [array] $header    头信息
 * @return [string] $data      返回的结果         
 */
static function curlGet($url, $header){
  $curl = curl_init();//初始化
  curl_setopt($curl, CURLOPT_URL, $url);//设置抓取的url
  curl_setopt($curl, CURLOPT_HTTPHEADER, $header);  //设置头信息的地方
  curl_setopt($curl, CURLOPT_HEADER, false);//设置头文件的信息作为数据流输出
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);//设置获取的信息以文件流的形式返回,而不是直接输出
  $data = curl_exec($curl);//执行命令
  curl_close($curl);//关闭URL请求
  return $data;
}

2. POST方式

/**
 * CURL POST方式向开放平台请求相关信息
 * @param  [string] $url       抓取的url
 * @param  [array] $header    头信息
 * @param  [string] $post_data 附加的post数据
 * @return [string] $data      返回的结果           
 */
static function curlPost($url, $header, $post_data){
  $curl = curl_init();//初始化
  curl_setopt($curl, CURLOPT_URL, $url);//设置抓取的url
  curl_setopt($curl, CURLOPT_HTTPHEADER, $header);  //设置头信息的地方
  curl_setopt($curl, CURLOPT_HEADER, false);//设置头文件的信息作为数据流输出
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);//设置获取的信息以文件流的形式返回,而不是直接输出
  curl_setopt($curl, CURLOPT_POST, true);//设置post方式提交
  curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);//设置post数据
  $data = curl_exec($curl);//执行命令
  curl_close($curl);//关闭URL请求
  return $data;
}

二、CURL的其他应用

1. 作为爬虫去获取网页内容

<?php
  $curlobj = curl_init();  //初始化
  curl_setopt($curlobj, CURLOPT_URL, "http://www.baidu.com");  // 设置访问网页的URL
  curl_setopt($curlobj, CURLOPT_RETURNTRANSFER, true);  // 执行之后不直接打印出来
  $output = curl_exec($curlobj);  // 执行
  curl_close($curlobj);  // 关闭cURL
?>

  

  

原文地址:https://www.cnblogs.com/ioveNature/p/6482991.html