本书特别新手的一点,是将重要操作的核心思路都为大家提供了。在数据库、图片、文件上传我们都把真正的步骤。以及步骤如何组何成为我们的代码和实现过程都做过讲解。

我们将curl的步骤分为以下7步:

1.初使化curl资源

2.参数设置请求的协议地址

3.参数设置是否返回请求结果

4.设置发送数据(无发送数据可不设置)

5.其他的参数信息设置(按实际工作需要决定)

6.执行或执行得到返回结果

7.关闭curl资源

我们为了更好的让大家学习和入门,将第2步至第5步本应该归为一步的插成了4个步骤。

第二步至第五步本质上,应该统成为curl参数设置。

所有curl设置参数设置都是通过curl_setopt都完成

curl_setopt这一步最为重要,一切玄妙均在此。

curl_setopt这一步完成了包括连接、参数和一切请求的细节设置。要一次性全部看完并理解可能比较困难,所以我们只试一下那些更常用也更有用的选项。

我们为了更好的入门。并且在php中我们用的最多的是http请求。因此,我们将一些不需要大家使用到的全部不作讲解。

如果感兴趣的朋友可以参考curl_setopt中复杂的参数设置。

地址如下:http://php.net/manual/zh/function.curl-setopt.php

一、初使化curl资源

这只有一句话,就是使用的是curl_init函数。这个参数法面要传入任何参数。返回curl的操作资源。

因为,我们在后面是通过curl_setopt向curl的操作资源变量压入数据的。

例:$ch = curl_init();

二、参数设置请求的协议地址

curl_setopt函数的详细使用如下:类型说明函数curl_setopt

参数1curl资源变量

参数2curl参数选项

参数3curl参数值

CURLOPT_URL 这个参数选项规定了请求的url地址。curl_setopt($ch, CURLOPT_URL, "http://www.php.cn");

三、参数设置是否返回请求结果

我们希望curl请求后返回对应的结果。我们要得到对应的结果,也需要设置一个参数,这个参数名为:CURLOPT_RETURNTRANSFER。

若需要返回值即为1。不需请求后返回的结果可设置为0。curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

四、设置发送数据

如果是get请求,我们不需要设置发送的参数。在post等请求的时候,我们需要设置发送方法为post方法。并设置发送的数据。

*CURLOPT_POST *值设为1是使用POST方法,0为不使用POST方法

CURLOPT_POSTFIELDS设置传递的数据//声明使用POST方式来进行发送

curl_setopt($ch, CURLOPT_POST, 1);

//发送什么数据呢

curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

五、其他的参数信息设置

如果是https有的时候我们需要忽略https的安全证书。

CURLOPT_SSL_VERIFYPEER和CURLOPT_SSL_VERIFYHOST 两个参数改为false即忽略了证书。curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);

CURLOPT_HEADER这个参数又决定是是否处理http的头信息,我们不想接收处理的话可将这个值设置为0。curl_setopt($ch, CURLOPT_HEADER, 0);

此外,我们还可以设置请求的超时时间,参数为:CURLOPT_TIMEOUT。curl_setopt($ch, CURLOPT_TIMEOUT, 10);

其他参数非常多,我们在之前讲过,如果你想了解更多的内容可以访问:

地址如下:http://php.net/manual/zh/function.curl-setopt.php

六、执行或执行得到返回结果

我们第三步中,将CURLOPT_RETURNTRANSFER 参数中将值设为1。如果执行的结果有数据。使用curl_exec执行后,会将结果返回给$output变量。$output = curl_exec($ch);

七、关闭curl资源

关闭curl资源。因为资源类型,我们反复强调过,有打开就有关闭。

如果不需要使用,使用curl_close关闭后立刻释放内存。curl_close($ch);

八丶将上面的组合在一起<?php

//初始化

$ch = curl_init();

//设置选项,包括URL

curl_setopt($ch, CURLOPT_URL, "http://www.php.cn");

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_HEADER, 0);

//执行并获取HTML文档内容

$output = curl_exec($ch);

//释放curl句柄

curl_close($ch);

//打印获得的数据

print_r($output);

?>

php curl 使用方法,php curl使用方法与步骤相关推荐

  1. curl 命令行下载工具使用方法小结

    获取curl curl 命令行下载工具 curl的官方网站为:    http://curl.haxx.se    官方下载页面为:http://curl.haxx.se/download.html ...

  2. php bearer token,php-使用CURL设置Bearer令牌的正确方法

    php-使用CURL设置Bearer令牌的正确方法 我从API端点获取了承载令牌,并设置了以下内容: $authorization = "Bearer 080042cad6356ad5dc0 ...

  3. php extension curl,php中开启curl扩展的方法详解

    例1, curl扩展开启的步骤: 1.将PHP文件夹下的三个文件php_curl.dll,libeay32.dll,ssleay32.dll复制到system32下; 2.将php.ini(c:WIN ...

  4. php curlget方法_PHP cURL请求详解

    在PHP后端的开发过程中,除了获取数据库的数据和处理数据的内部逻辑,往往还需要请求其他服务器接口的数据,我们一般有3种方式来获取数据,分别是: file_get_contents fsockopen ...

  5. curl获取结果乱码的解决方法之CURLOPT_ENCODING(curl/Post请求)

    //php脚本开始   /*POST请求远程内容函数*/   function ppost($url,$data,$ref){ // 模拟提交数据函数       $curl = curl_init( ...

  6. PHP中使用CURL实现Get和Post请求方法

    1.cURL介绍 cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP.FTP.TELNET等.最爽的是,PHP也支持 cURL 库.本文将介绍 cURL的一些高级特性, ...

  7. php curl返回结果乱码,curl获取结果乱码的解决方法

    做项目的时候,遇到curl获取的结果是乱码,找了很多资料,终于解决了,以下是解决办法,记录一下.//php脚本开始 /*POST请求远程内容函数*/ function ppost($url,$data ...

  8. 主机支持php的curl扩展,[Windows技术] 使服务器支持PHP curl函数:开启CURL扩展的方法...

    一.window下安装php_curl支持 1.将PHP文件夹下的libeay32.dll, ssleay32.dll, php5ts.dll, php_curl.dll复制到 %windir%/sy ...

  9. curl get请求_Linux curl 常用示例你都 Get 了吗?| CSDN 博文精选

    作者 | LightZhang666责编 | 屠敏出品 | CSDN 博客本篇文章包含了curl的常用案例使用.常见网页访问示例基本用法访问一个网页: curl https://www.baidu.c ...

  10. curl命令java_上curl java 模拟http请求

    最近,我的项目要求java模拟http请求,获得dns解决 tcp处理过的信息特定的连接. java api提供urlConnection apache提供的httpClient都不能胜任该需求,二次 ...

最新文章

  1. 贪心 Codeforces Round #300 A Cutting Banner
  2. 电脑php在哪里,电脑上地址栏在哪?
  3. 【Trie】bzoj1212 [HNOI2004]L语言
  4. C语言素数筛选法(prime seive) 算法(附完整源码)
  5. v-model双向绑定
  6. docker搭建webug4.0并——示范.支付漏洞,邮箱轰炸
  7. java中JShell脚本工具、常量优化、集成开发环境IDEA
  8. 最优化学习笔记(一)——牛顿法(一维搜索方法)
  9. 领导再也不会因为模型刷新不出来批评我啦---论IE扩内存(转载)
  10. [转载] Java基础之构造方法(函数)何时被调用
  11. linux怎么开启httpd服务公钥,在Apache httpd服务器上部署SSL证书
  12. 2021“数维杯”国际大学生数学建模竞赛C题思路
  13. 动手动脑(Java)
  14. 图书馆管理系统代码html语言,图书管理系统html - WEB源码|源代码 - 源码中国
  15. 数据库系统概论课后习题答案(第五版 王珊、萨师煊)
  16. stm32点亮流水灯(小白的求学之路)
  17. SVN update拒绝访问,clean up失败
  18. Oracle PLSQL单行数据的处理
  19. 大数据分析技术有哪些
  20. 关于python,如何更优雅地用%占位符

热门文章

  1. .NET Core 2.0 的dll实时更新、https、依赖包变更问题及解决
  2. ASP.NET Core API 版本控制
  3. 监控——《微服务设计》读书笔记
  4. 自己动手开发编译器(我们的朋友 -- 装配脑袋走了)
  5. Bash on Windows 抢鲜测试 -- 介绍及安装
  6. 介绍一款python类型检查工具pyright
  7. Android之使用HandlerThread 以及如何退出总结
  8. Android之Fragment 真正的完全解析(上)
  9. 一个类可以实现多个接口吗_Java入门:基础知识(面向对象:接口)
  10. 每日一笑 | 爱的魔力转圈圈~