在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 相关安全设置

    搭建网站公司哪家好1、centos 修改密码强度策略修改 /etc/pam.d/system-auth 在 password requisite pam_pwquality.so 中添加minlen…

    记事本 2023年12月13日
  • 时光记忆——防失忆记事本

    搭建网站公司哪家好互联网是有记忆的,可人的记忆却消失的很快,许多事情在不知不觉中淡忘了。那些曾经耗费很多精力在网上搜到的信息、问题答案、解决方案就这样逐渐的消失了,当再次需要的时候又要去找,浪费时间…

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

    搭建网站公司哪家好模型事件是指在进行模型的写入操作的时候触发的操作行为,包括模型的save方法和delete方法。 模型事件包括下面几种,分为新增前后、更新前后、写入前后、和删除前后,暂时称4个分组…

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

    搭建网站公司哪家好在使用FastAdmin 键值组件(Fieldlist) 如果键名为纯数字时,保存后排序失败,将变成键名由小到大的排列方式,用起来很不方便 可以自己修改 public/assets…

    2023年11月21日
  • centos下更改自动分区后的根分区大小

    搭建网站公司哪家好在安装centos的时候,如果选择都是自动分区,在划分分区的时候划给/分区的很少,留给/home的空间很大,接下来教导大家如何重新调整分区大小: 步骤如下: 1.备份/home目录…

    记事本 2023年11月18日
  • FreeSWITCH 突然不能拨打电话问题

    搭建网站公司哪家好公司呼叫系统,在正常使用中突然大面积出现呼叫失败,马上登录服务器查看呼叫日志,出现下图所示的 (NATIVE SQL ERR [database or disk is full])…

    2018年11月18日
  • 银河麒麟V10服务器安装PHP8

    搭建网站公司哪家好麒麟服务器安装PHP默认安装的是 PHP 7.2.34,如果安装高版本需要自己编译安装或者使用其它安装源 安装remi 源时,安装出错 只能手动创建repo,文件进行安装 然后就可…

    2024年8月9日
  • OneThink_V1.1在php7 下出错问题

    搭建网站公司哪家好一直使用onethink的程序,OneThink是thinkPHP团队的内容管理程序。 OneThink是一个开源的内容管理框架,基于最新的ThinkPHP3.2版本开发,提供更方…

    2018年11月18日
  • WordPress 配置WP SMTP 插件发送邮件

    搭建网站公司哪家好WordPress 如果由发送邮件的需求时可以使用 WP SMTP 插件,发送邮件的场景有,注册验证、找回密码、客户下单、留言等等。WP SMTP 插件的配置也比较简单,下面以QQ…

    2023年11月18日
  • svn up 时每次都需要输入密码解决办法

    搭建网站公司哪家好linux 系统下执行svn up 时每次都需要输入密码,可以通过设置直接进行更新 修改目录 ~/.subversion/auth/svn.simple/ 中的文件,文件名是一个比…

    记事本 2024年11月21日

发表回复

登录后才能评论
WeChat