cURL是利用url语法规定传输文件和数据的工具。php中有curl拓展,一般用来实现网络抓取,模拟发送get   post请求,文件上传。

在php中建立curl的基本步骤如下:

1.初始化

2. 设置选项,包括url

3. 执行并获取结果

4. 释放curl句柄。

在工作和学习中,我也是时常用的curl。由于在使用curl设置选项时,各种选项比较难以记忆,需要参考,故在此记录下常用的一些例子,以便后来参考。

实例一 : 抓取网页数据(以拉手网开放api为例,也是get请求)<?phpheader ("Content-type: text/html; charset=utf-8"); $ch = curl_init();//初始化/*============开始设置curl各种选项================*/curl_setopt($ch, CURLOPT_URL, "http://open.lashou.com/opendeals/lashou/city.xml");curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$html = curl_exec($ch);//执行句柄,获取返回内容curl_close($ch);//释放句柄echo $html

如果用这种方法发get请求,参数附加到url后面即可,如curl_setopt($ch, CURLOPT_URL,"http://localhost/tqj/date/p822.php?name=yyyyy");

实例二:  利用curl发送post请求<?php $uri = "http://localhost/tqj/date/p822.php";// post参数数组$data = array ( "name" => "tianquanjun", "password" => "tianquanjun",);//初始化$ch = curl_init ();//各种项设置,网上参考而来,可以查看php手册,自己设置curl_setopt ( $ch, CURLOPT_URL, $uri );curl_setopt ( $ch, CURLOPT_POST, 1 );//post方式curl_setopt ( $ch, CURLOPT_HEADER, 0 );curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );//执行$return = curl_exec ( $ch );//释放curl_close ( $ch );print_r($return);

实例三  :curl 过程调试与错误信息处理<?php $uri = "http://localhost/tqj/date/p822.php";// post参数数组$data = array ( "name" => "tianquanjun", "password" => "tianquanjun",);//初始化$ch = curl_init ();//各种项设置,网上参考而来,可以查看php手册,自己设置curl_setopt ( $ch, CURLOPT_URL, $uri );curl_setopt ( $ch, CURLOPT_POST, 1 );//post方式curl_setopt ( $ch, CURLOPT_HEADER, 0 );curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );//执行$return = curl_exec ( $ch );//容错机制if($return === false){ var_dump(curl_error($ch)); }//curl_getinfo()获取各种运行中信息,便于调试 $info = curl_getinfo($ch);echo "执行时间".$info["total_time"].PHP_EOL;//释放curl_close ( $ch );print_r($return);?>

其中利用curl_error()获取错误信息,curl_getinfo()获取运行相关信息。

实例四:  上传图片,获取返回信息。

跨域上传图片,同时获取返回信息,这个就能大显身手。和post比较像,注意文件之前加一个@符号<?php $uri = "http://localhost/tqj/date/p822.php";// post参数数组$data = array ( "author" => "tianquanjun", "upload" => "@C:Usersianquanjun.DANGDANGPicturesa.jpg",);//初始化$ch = curl_init ();//各种项设置,网上参考而来,可以查看php手册,自己设置curl_setopt ( $ch, CURLOPT_URL, $uri );curl_setopt ( $ch, CURLOPT_POST, 1 );//post方式curl_setopt ( $ch, CURLOPT_HEADER, 0 );curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data );//执行$return = curl_exec ( $ch );//容错机制if($return === false){ var_dump(curl_error($ch)); }//curl_getinfo()获取各种运行中信息,便于调试 $info = curl_getinfo($ch);echo "执行时间".$info["total_time"].PHP_EOL;//释放curl_close ( $ch );print_r($return);

实例五 : curl批处理。

curl有一个高级特性,批处理句柄。允许打开多个curl链接。

批处理就是打开多个curl句柄,并把这些句柄指派给一个批处理句柄,然后在while循环里等待处理完毕。curl_multi_exec()算是称得上多线程处理,不过它还是属于异步的范畴。<?phpheader ("Content-type: text/html; charset=gbk");$urls=array("http://www.baidu.com","http://www.qq.com/");$ch=array();//批处理句柄$mh=curl_multi_init();//打开多个curl句柄,并指派给一个批处理句柄$ch[0]=curl_init($urls[0]);$ch[1]=curl_init($urls[1]);for($i=0;$i<2;$i++){curl_setopt($ch[$i],CURLOPT_RETURNTRANSFER,1);curl_multi_add_handle($mh,$ch[$i]);}$running = NULL;do{ usleep(10000); curl_multi_exec($mh,$running);//实现批处理,可以看做curl多线程,实际是异步范畴}while($running>0);$res=array();for($j=0;$j<2;$j++){ $res[$j]=curl_multi_getcontent($ch[$j]);}//关闭句柄for($k=0;$k<2;$k++){ curl_multi_remove_handle($mh,$ch[$k]);}curl_multi_close($mh);print_r($res);?>

基本算是列举了常用的一些实例。要想灵活运用curl,还是得熟悉curl的各个设置项,这些设置项才是curl的灵魂。

总结

以上所述是小编给大家介绍的PHP中使用CURL发送get/post请求上传图片批处理 功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网页设计网站的支持!

php curl post上传图片,PHP中使用CURL发送get/post请求上传图片批处理功能相关推荐

  1. 用php批处理图片,PHP中使用CURL发送get/post请求上传图片批处理功能

    cURL是利用url语法规定传输文件和数据的工具.php中有curl拓展,一般用来实现网络抓取,模拟发送get   post请求,文件上传. 在php中建立curl的基本步骤如下: 1.初始化 2. ...

  2. AndroidStudio_安卓原生开发_Android中使用HttpURLConnection发送同步Post请求_json数据到springBoot后台---Android原生开发工作笔记139

    这里要注意如果想发送同步请求,而不报错需要在oncreate方法中加上 if (android.os.Build.VERSION.SDK_INT > 9) {StrictMode.ThreadP ...

  3. H5中ajax()方法发送网络数据请求

    一.定义和用法 ajax() 方法通过 HTTP 请求加载远程数据. $.ajax() 返回其创建的 XMLHttpRequest 对象. 语法 jQuery.ajax([settings]) 参数 ...

  4. qt中使用winhttp发送服务端请求

    2019独角兽企业重金招聘Python工程师标准>>> /** * @brief HttpClient::HttpRequest * 发送服务器请求 * @param url * @ ...

  5. php curl title,PHP中使用CURL获取页面title例子

    PHP中使用CURL获取页面title例子 发布于 2015-10-03 05:28:40 | 109 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hyperte ...

  6. php 中使用cURL发送get/post请求,上传图片,批处理

    https://mp.weixin.qq.com/s/8luqMEd8xt8oJxFLLCU1XA 文章正文 cURL是利用url语法规定传输文件和数据的工具.php中有curl拓展,一般用来实现网络 ...

  7. php中使用Curl、socket、file_get_contents三种方法POST提交数据

    抓取远程内容,之前一直都在用file_get_content函数,其实早就知道有curl这么一个好东西的存在,但是看了一眼后感觉使用颇有些复杂,没有file_get_content那么简单,再就是需求 ...

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

    PHP中使用cURL实现Get和Post请求的方法,需要的朋友可以参考一下 1.cURL介绍 cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP.FTP.TELNET等 ...

  9. 在PHP中使用CURL,“撩”服务器只需几行——php curl详细解析和常见大坑

    作为开发,妹子没得撩就"撩"下服务器吧,妹子有得撩的同学那就左拥妹子右抱服务器吧,况且妹子是要礼物的,服务器又不用.好啦,长话短说再长说,祭出今天的工具--CURL(Client ...

最新文章

  1. JDBC编程:1(使用JDBC连接数据库)
  2. python语言能干什么-python语言能做什么
  3. dhcp只能分配与路由器相同网段么_dhcp工作原理
  4. python 比较列表相邻元素(找相同或去重)
  5. 苹果笔记本电脑好用吗_苹果新品发布会消息汇总(8月25日)
  6. 什么是掼蛋游戏呼叫中心
  7. UITableview高度计算
  8. oracle ebs 期间 打开,ORACLE EBS重新打开关闭库存期间
  9. 德国精品软件推荐   压缩软件 WINRAR 个人版终于免费了。
  10. 杭电 3400 Line belt 解题报告
  11. 计算机系统结构自考应用题,2017年10月自考02325计算机系统结构真题及答案
  12. 信号与系统第四章总结
  13. word英文字体下载 如Caecilia LT Std
  14. CodeForces 140C New Year Snowm
  15. 初识Linux与运维
  16. 软件原型设计(软件Axure_RP)
  17. 图的邻接矩阵存储(简单代码实现)
  18. web前端从学习到学废
  19. Java实战项目二(超详细)---奔跑吧小恐龙
  20. 个人入行做智能家居,应该从哪几方面入手?

热门文章

  1. 2023最新SSM计算机毕业设计选题大全(附源码+LW)之java大学生心理健康系统8q665
  2. vue.js使用audio标签实现聊天语音条组件
  3. MySQL 从入门到跑路_01(实例实操)
  4. 库存监控 - 异常检测算法
  5. SpringBoot充电桩平台
  6. 素材火官网后台模板下载
  7. Fabric 1.0源代码分析(7)configtx(配置交易) #configtxgen(生成通道配置)
  8. 大学物理----同方向同频率简谐振动的合运动公式的数学推导
  9. TSN 3. Ethernet AVB 协议栈分析
  10. Tektronix TCP0020 AC/DC电流探头产品说明书