欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP中使用cURL实现Get和Post请求的方法

程序员文章站 2022-06-15 09:38:52
1.curl介绍   curl 是一个利用url语法规定来传输文件和数据的工具,支持很多协议,如http、ftp、telnet等。最爽的是,php也支持 curl 库。...

1.curl介绍

  curl 是一个利用url语法规定来传输文件和数据的工具,支持很多协议,如http、ftp、telnet等。最爽的是,php也支持 curl 库。本文将介绍 curl 的一些高级特性,以及在php中如何运用它。

2.基本结构

  在学习更为复杂的功能之前,先来看一下在php中建立curl请求的基本步骤:

  (1)初始化


    curl_init()

  (2)设置变量


    curl_setopt() 。最为重要,一切玄妙均在此。有一长串curl参数可供设置,它们能指定url请求的各个细节。要一次性全部看完并理解可能比较困难,所以今天我们只试一下那些更常用也更有用的选项。

  (3)执行并获取结果


    curl_exec()

  (4)释放curl句柄


    curl_close()

3.curl实现get和post

3.1 get方式实现

复制代码 代码如下:

  //初始化
  $ch = curl_init();

  //设置选项,包括url
  curl_setopt($ch, curlopt_url, "//www.jb51.net");
  curl_setopt($ch, curlopt_returntransfer, 1);
  curl_setopt($ch, curlopt_header, 0);

  //执行并获取html文档内容
  $output = curl_exec($ch);

  //释放curl句柄
  curl_close($ch);

  //打印获得的数据
  print_r($output);


3.2 post方式实现
复制代码 代码如下:

   $url = "http://localhost/web_services.php";
  $post_data = array ("username" => "bob","key" => "12345");

  $ch = curl_init();

  curl_setopt($ch, curlopt_url, $url);
  curl_setopt($ch, curlopt_returntransfer, 1);
  // post数据
  curl_setopt($ch, curlopt_post, 1);
  // post的变量
  curl_setopt($ch, curlopt_postfields, $post_data);

  $output = curl_exec($ch);
  curl_close($ch);

  //打印获得的数据
  print_r($output);

  


  以上方式获取到的数据是json格式的,使用json_decode函数解释成数组。

  $output_array = json_decode($output,true);

  如果使用json_decode($output)解析的话,将会得到object类型的数据。