位置: 编程技术 - 正文

PHP中的使用curl发送请求(GET请求和POST请求)(php curl_exec)

编辑:rootadmin

推荐整理分享PHP中的使用curl发送请求(GET请求和POST请求)(php curl_exec),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php curl_init,php curl_multi_init,php curl formdata,php curl_multi_init,php curl_setopt,php curl_setopt,php curl_setopt,php curl命令详解,内容如对您有帮助,希望把文章链接给更多的朋友!

使用CURL发送请求的基本流程

使用CURL的PHP扩展完成一个HTTP请求的发送一般有以下几个步骤:

1.初始化连接句柄;

2.设置CURL选项;

3.执行并获取结果;

4.释放VURL连接句柄。

下面的程序片段是使用CURL发送HTTP的典型过程

上述代码中使用到了四个函数

curl_init() 和 curl_close() 分别是初始化CURL连接和关闭CURL连接,都比较简单。 curl_exec() 执行CURL请求,如果没有错误发生,该函数的返回是对应URL返回的数据,以字符串表示满意;如果发生错误,该函数返回 FALSE。需要注意的是,判断输出是否为FALSE用的是全等号,这是为了区分返回空串和出错的情况。 CURL函数库里最重要的函数是curl_setopt(),它可以通过设定CURL函数库定义的选项来定制HTTP请求。上述代码片段中使用了三个重要的选项:PHP中的使用curl发送请求(GET请求和POST请求)(php curl_exec)

①CURLOPT_URL 指定请求的URL;

②CURLOPT_RETURNTRANSFER 设置为1表示稍后执行的curl_exec函数的返回是URL的返回字符串,而不是把返回字符串定向到标准输出并返回TRUE;

③CURLLOPT_HEADER设置为0表示不返回HTTP头部信息。

CURL的选项还有很多,可以到PHP的官方网站( url:网络地址。 content_type:内容编码。 http_code:HTTP状态码。 header_size:header的大小。 request_size:请求的大小。 filetime:文件创建的时间。 ssl_verify_result:SSL验证结果。 redirect_count:跳转计数。 total_time:总耗时。 namelookup_time:DNS查询耗时。 connect_time:等待连接耗时。 pretransfer_time:传输前准备耗时。 size_uplpad:上传数据的大小。 size_download:下载数据的大小。 speed_download:下载速度。 speed_upload:上传速度。 download_content_length:下载内容的长度。 upload_content_length:上传内容的长度。 starttransfer_time:开始传输的时间表。 redirect_time:重定向耗时。

curl_getinfo()函数还有一个可选择参数$opt,通过这个参数可以设置一些常量,对应到上术这个字段,如果设置了第二个参数,那么返回的只有指定的信息。例如设置$opt为CURLINFO_TOTAL_TIME,则curl_getinfo()函数只返回total_time,即总传输消耗的时间,在只需要关注某些传输信息时,设置$opt参数很有意义。

使用CURL发送GET请求

如何使用CURL来发送GET请求,发送GET请求的关键是拼装格式正确的URL。请求地址和GET数据由一个“&#;”分割,然后GET变量的名称和值用“=”分隔,各个GET名称和值由“&”连接。PHP为我们提供了一个函数专门用来拼装GET请求和数据部分——http_build_query,该函数接受一个关联数组,返回由该关联数据描述的GET请求字符串。使用这个函数,结合CURL发送HTTP请求的一般流程,我们封闭了一个发送GET请求的函数——doCurlGetRequest,具体代码如下:

这个函数把使用http_build_query 拼装好的带GET参数的URL传给curl_init函数,然后使用CURL发送HTTP请求。

使用CURL发送POST请求

可以使用CURL提供的选项CURLOPT_POSTFIELDS,设置该选项为POST字符串数据就可以把请求放在正文中。同样我们实现了一个发送POST请求的函数——doCurlPostRequest,代码如下:

上面代码中除了设置CURLOPT_POSTFIELDS外,我们还设置了CURL_POST为true,标识这个请求是一个POST请求。在POST请求中也是可以传输GET数据的,只需要在URL中拼装GET请求数据即可。

标签: php curl_exec

本文链接地址:https://www.jiuchutong.com/biancheng/295585.html 转载请保留说明!

上一篇:PHP图片裁剪与缩放示例(无损裁剪图片)(php修改图片尺寸)

下一篇:PHP+Ajax无刷新带进度条图片上传示例(php不刷新提交)

  • 计提维保费
  • 一般纳税人服务费税率
  • 海关关税计算公式
  • 增值税进项税额计算公式
  • 哪些费用可以放到研发费用中
  • 抵扣旅客运输增值税报表怎么填
  • 企业实缴不到位怎么办
  • 空调压缩机属于什么系统
  • 固定资产一次性扣除怎么做账
  • 子公司的实收资本合并报表怎么做
  • 非营利组织项目
  • 个体户没有税务登记证能注销营业执照吗
  • 刚成立公司没有报表怎么解释
  • 专利技术转让使用费如何做会计处理?
  • 开票软件服务费不交会怎么样
  • 抬头是别的公司怎么报销
  • 工程结算收入是什么科目
  • 盈余公积可以随便用吗
  • 增值税税负率计算包含附加税吗
  • 企业发工资哪些需要缴个人所得税?
  • 工程领用工程物资180万元
  • 一般纳税人企业所得税政策最新2023
  • 三类小规模纳税标准
  • 公司购买宿舍楼申请书
  • 公司为员工需要承担哪些责任
  • 资源税改革对政治的影响
  • 固定资产加速折旧方法
  • 房地产开发企业资质管理规定
  • 发票的开具时效为
  • 服务费主营业务收入会计分录
  • 转出未交增值税科目
  • 配电安装施工方案
  • 个人所得税算少了怎么办
  • 工厂没有生产许可证可以生产吗
  • php创建二维数组
  • 赠送积分有两种形式
  • linux源码安装软件的方法介绍
  • linux标准文件和链接文件
  • 医疗保险在外地交了老家还要交吗
  • 发票抬头可以是两个人吗
  • 申报系统异常
  • 申请专利费用计入哪个科目
  • 卷积神经网络课程
  • 销售原材料怎么入账
  • 帝国cms安装教程
  • 十年磨一剑的下一句幽默
  • vj刷题
  • 未确认融资费用怎么算
  • 什么叫做有限循环小数
  • 其他应收款科目余额在贷方表示什么
  • 国有企业投资程序
  • 支付利息的账务处理
  • 投标保证金退回是不是没中标
  • 捐赠利得计入资产成本吗
  • 经营性应付项目减少对经营活动现金
  • 规范的建账原则是什么
  • sql多表连接查询
  • mac上的home键在哪
  • mac下安装anaconda
  • 在Windows Server 2008中配置FTP服务
  • 企业级路由器和普通路由器区别
  • win7屏幕颜色不正常
  • winxp/win7/win2003 电脑开机密码设置图文方法
  • centos 查看用户命令
  • win8.1 安装
  • win 10预览版
  • kotlin开发安卓教程
  • js数组菜鸟教程
  • input按钮的事件处理大全
  • jQuery Easyui Datagrid实现单行的上移下移及保存移动的结果
  • python入门小程序编写
  • js混杂模式
  • 安卓 存储权限 访问的地方是哪里
  • 农业方面有哪些有名杂志
  • 2006年发生哪一些大案
  • 国家税务总局广州市税务局
  • 国家税务总局朝阳税务局
  • 深圳龙华九价怎么预约
  • 一月份纳税申报
  • 工厂的税率是多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设