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, "http://www.nettuts.com");
  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类型的数据。

转载于:https://www.cnblogs.com/chenhaoyu/p/5950161.html

curl实现发送Get和Post请求(PHP)相关推荐

  1. Linux中使用curl命令发送带参数的get请求和post请求

    1. curl与wget 命令的区别 相似之处:wget 和 cURL 都可以下载内容,都可以向互联网发送请求并返回请求项,也可以进行 HTTP POST 请求,它们都是命令行工具,可以设计成可脚本化 ...

  2. qt5中服务器文件传输,POST在Qt5中发送JSON文件的请求

    在Qt5的帮助下,通过POST请求将JSON文件发送到服务器时有点问题.我给你一张我的程序:POST在Qt5中发送JSON文件的请求 #include #include #include #inclu ...

  3. 如何使用file_get_contents实现发送GET、POST请求

    虽然说发送get.post请求可以使用curl,但是吧对于一个极小的项目却显得没那个必要了,curl代码量着实有点大了,虽然你可以放公共函数里,但是有些特殊场景下用不了公共函数,这个时候file_ge ...

  4. 爬虫之requests模块发送带参数的请求

    爬虫之requests模块发送带参数的请求 我们在使用百度搜索的时候经常发现url地址中会有一个 ?,那么该问号后边的就是请求参数,又叫做查询字符串 1.1 在url携带参数 直接对含有参数的url发 ...

  5. 爬虫之requests模块发送带header的请求

    爬虫之requests模块发送带header的请求 我们先写一个获取百度首页的代码 import requestsurl = 'https://www.baidu.com'response = req ...

  6. 在C#用HttpWebRequest中发送GET/HTTP/HTTPS请求

    这个需求来自于我最近练手的一个项目,在项目中我需要将一些自己发表的和收藏整理的网文集中到一个地方存放,如果全部采用手工操作工作量大而且繁琐,因此周公决定利用C#来实现.在很多地方都需要验证用户身份才可 ...

  7. httpsrequest java_java 发送http和https请求的实例

    HTTP请求: 如果需要Json格式的自己转下,度娘上N种姿势- //处理http请求 requestUrl为请求地址 requestMethod请求方式,值为"GET"或&quo ...

  8. get post请求区别_LoadRunner发送GET和POST请求

    >>>推荐阅读<<< 1.性能测试学习笔记-场景设计 2.性能测试的重要意义 3.性能分析流程及方法 4.应用系统性能调优之性能分析 一.LoadRunner发送G ...

  9. SSM中通过okhttp3向接口发送xml格式的请求参数

    场景 在SSM项目中的后台Controller中需要想asp的接口发送xml格式的请求参数. 依据接口文档示例代码. 入参: <Request><ServiceCode>get ...

最新文章

  1. R语言单向多元方差分析MANOVA(one-way MANOVA)实战:multivariate analysis of variance
  2. 《网络攻防实践》第二周作业
  3. java中间缓存变量机制_Java中间缓存变量机制
  4. C++ Opengl纹理贴图源码
  5. linux-文件类型与查看文件型
  6. 多多云手机多少钱一月_北京苹果手机维修为大家分享iPadAir2换屏幕多少钱
  7. SAP License:成本不是靠算出来的
  8. Window Server 2008 R2 文件权限管理
  9. 29.3. phpMyAdmin - MySQL web administration tool
  10. HFSS喇叭天线仿真
  11. 未能成功加载扩展程序_该扩展程序未列在 Chrome 网上应用店中,并可能是在您不知情的情况下添加的解决办法...
  12. 基于微信小程序的鲜花销售系统毕业设计源码
  13. 如何对PDF文件中的内容进行编辑修改
  14. 磁盘占用率100%——多番尝试
  15. 解决win10升级补丁后共享打印机0x0000011b报错问题最简单解决方法,不需要卸载补丁
  16. TBM410-ASEMI的4A贴片整流桥TBM410
  17. 特斯拉充电电流设置多大_特斯拉充电时间
  18. 毫秒级返回数据,TDengine 在大疆车载智能驾驶云端平台上的应用
  19. Ubuntu 20.04开启热点(连着wify开wify)
  20. 关于left与offsetLeft的区别

热门文章

  1. 判断字符串中是否包含指定字符的N种方法对比
  2. 如何在Eclipse下查看JDK源代码
  3. codeforces 702A A. Maximum Increase(水题)
  4. 关于 java jdk 环境变量的配置
  5. 关于Linux SHELL 的编程的几个练习(课本182页5-10题)
  6. python 移除列表中的值 list index out of range_重拾Python(二)之列表
  7. 小高考计算机知识点,小高考政治知识点总结.pdf
  8. php限制上传类型,php 上传类型限制的简单示例
  9. linux系统如何切换语言环境变量,Linux系统中如何修改某用户语言环境变量
  10. php 有request,请问,php中的$_REQUEST是什么意思啊?