在PHP中 利用 CURL 模拟发送 POST , GET 请求代码

在做淘客程序中,需要获取远程服务器的资源,最初使用的file_get_contents() 函数来获取,因为这个使用比较简单,但是连着请求几次后出现卡顿的情况,百度了一下,获取远程文件时,file_get_contents() 效率不如 CURL 的效率高,所以将原来的 改为使用 file_get_contents() 函数。

CURL是一个非常强大的开源库,支持很多协议,包括HTTP、FTP、TELNET等,我们使用它来发送HTTP请求。可以通过CURL灵活设置不同的HTTP协议参数,并且支持HTTPS。

CURL 执行流程及常用参数

curl_init 初始化一个curl对话

curl_setopt 设置curl参数,即传输选项

curl_exec 执行请求

curl_close 关闭一个curl对话

curl_errno 返回最后一次错误码,php已经定义了诸多错误枚举编码

curl_errror 返回一个保护当前会话最近一次错误的字符串

使用 CURL 发送 GET 请求

在 php 开发中对接其它接口需要用 php curl 去对接其它接口,把他封装成函数,方便使用。这里面是封装好的会自动把 data 数组转成 json 格式,同时解码输出的结果也是自动将 JSON 格式转换为数组格式输出:

function geturl($url){ 
    $headerArray =array("Content-type:application/json;","Accept:application/json"); 
    $curl = curl_init(); 
    curl_setopt($curl, CURLOPT_URL, $url); 
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); 
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl,CURLOPT_HTTPHEADER,$headerArray); 
    $output = curl_exec($curl); 
    curl_close($curl); 
    $output = json_decode($output,true); 
    return $output; 
}

使用 CURL 发送 POST 请求

function posturl($url,$data){ 
    $data = json_encode($data); 
    $headerArray =array("Content-type:application/json;charset='utf-8'","Accept:application/json"); 
    $curl = curl_init(); 
    curl_setopt($curl, CURLOPT_URL, $url); 
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); 
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE); 
    curl_setopt($curl, CURLOPT_POST, 1); 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $data); 
    curl_setopt($curl,CURLOPT_HTTPHEADER,$headerArray); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
    $output = curl_exec($curl); 
    curl_close($curl); 
    return json_decode($output,true); 
}

原创文章,作者:admin,如若转载,请注明出处:https://ntib.cn/75.html

(0)
adminadmin
上一篇 2018年11月18日 下午10:07
下一篇 2018年11月18日 下午10:10

相关推荐

  • CentOS免密登录

    短视频seo推广优化CentOS免密登录需要配置SSH登录密码与密钥身份验证。以下是一个简单的步骤: 此外,为了方便使用,可以设置别名,将登录命令写入到配置文件中。例如,在配置文件中添加别名alias…

    记事本 2023年12月27日
  • 阿里云轻量服务器配置及安装宝塔面板

    短视频seo推广优化为什么选择轻量服务器? 1、轻量服务器比 ECS 同等服务器会便宜很多,如果是新用户还是可以考虑 ECS 的, 2、带宽大,轻量服务器 限峰值带宽30Mbps ,但是每月又流量限制…

    2023年11月18日
  • FreeSWITCH 与鼎信无线网关配置

    短视频seo推广优化接口连接设备开箱上机柜,设备上电,用网线将电脑直连设备 FE0 或者 FE1 口,两个网口是桥接模式,默认 IP 是192.168.11.1,掩码 255.255.255.0,同时…

    2018年11月18日
  • 处理FastAdmin 键值组件(Fieldlist) 不能排序问题

    短视频seo推广优化在使用FastAdmin 键值组件(Fieldlist) 如果键名为纯数字时,保存后排序失败,将变成键名由小到大的排列方式,用起来很不方便 可以自己修改 public/assets…

    2023年11月21日
  • Google浏览器离线版下载方法

    短视频seo推广优化打开地址: https://www.google.cn/chrome/?standalone=1&platform=win64 ,再点击 在此下载时就可以下载到 chrom…

    2024年3月16日
  • 服务器编译安装PHP7.4

    短视频seo推广优化1、安装基础组件,为后期安装准备 安装oniguruma 安装libsodium 安装PHP # gmp 使用 –with-gmp 不使用  –enable-gmp # …

    记事本 2023年11月18日
  • 最新Brizy 插件国内不能使用解决办法

    短视频seo推广优化Brizy插件是一款适用于WordPress网站的可视化页面构建工具。它提供了一个直观且易于使用的页面编辑器,让用户可以通过拖放方式创建和设计自定义页面,而无需编写任何代码。 不过…

    2024年10月25日
  • wordpress 绑定多个域名方法

    短视频seo推广优化WordPress在安装的时候会默认绑定当前的域名,如安装时域名为 a.com,在访问www.a.com时,会自动跳到a.com,绑定其它域名时也会跳转,给大家分享一下WordPr…

    记事本 2023年11月18日
  • ThinkPHP模型事件

    短视频seo推广优化模型事件是指在进行模型的写入操作的时候触发的操作行为,包括模型的save方法和delete方法。 模型事件包括下面几种,分为新增前后、更新前后、写入前后、和删除前后,暂时称4个分组…

    记事本 2023年11月18日
  • nginx/apache 添加跨越请求

    短视频seo推广优化现在有很多的网站、系统都使用前后端分离的方式进行开发,有时候使用的不是相同的域名,这样就会存在跨域的问题,我们需要配置nginx或apache 来允许跨域的请求 apache 开启…

    记事本 2023年11月18日

发表回复

登录后才能评论
WeChat