在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

相关推荐

  • windows 系统安装 PHP的redis扩展

    公司网站制作怎么做因为用windows系统开发PHP网站或应用,有一些需要用到redis,所有需要安装redis,默认是已经安装好了 PHP,首先需要下载redis,下载地址:https://git…

    2023年11月18日
  • FreeSWITCH+Workerman+PHP 搭建呼叫中心

    公司网站制作怎么做由于FreeSWITCH官方已经不再维护FreeSWITCH php esl模块了,但是通过mod_event_socket仍然可以使用php连接;我们可以使用 Workerman…

    2018年11月18日
  • Linux 查找当前目录下 包含特定字符串 的所有文件

    公司网站制作怎么做使用 Linux 经常会遇到这种情况:只知道文件中包含某些特定的字符串,但是不知道具体的文件名。需要根据“特定的字符串”反向查找文件。 方式1(其中,r 表示递归, n 表示查询结…

    记事本 2023年11月18日
  • CentOS 相关安全设置

    公司网站制作怎么做1、centos 修改密码强度策略修改 /etc/pam.d/system-auth 在 password requisite pam_pwquality.so 中添加minlen…

    记事本 2023年12月13日
  • 宝塔面板一键迁移网站及数据库

    公司网站制作怎么做两个服务器间迁移数据太麻烦了,宝塔面板中有宝塔一键迁移插件安装上,注意是在要迁出数据的服务器上安装,安装完成后,在一键迁移插件设置中输入 新服务器的面板地址及面板API密钥。按照提…

    2023年11月18日
  • mysql 表区分大小写问题

    公司网站制作怎么做由于开发环境与服务器环境不同,代码上传后出现错误,提示字段不存在,排查后发现表名大小写不同而导致的错误,mysql可以进行配置来达到是否区分大小写。 只需再mysqld下添加一行 …

    记事本 2023年11月18日
  • centos7调整根目录挂载分区容量大小

    公司网站制作怎么做由于系统初始时根目录一般空间为50左右 有时会被占满,而/home目录却有大量空间 这里需要调整: 1.终止占用 /home 进程 fuser -m -v -i -k /home​…

    记事本 2018年11月18日
  • CentOS7 安装 FreeSWITCH 配置呼叫中心

    公司网站制作怎么做公司前段时间需要开发呼叫系统与内部客户管理系统进行对接,在客户管理系统中直接拨号进行打电话,同时还需要对每通电话进行录音,统计每个员工的通话时长等。在网上查资料最终选择开源系统Fr…

    2018年11月18日
  • FreeSwitch 添加配置录音功能

    公司网站制作怎么做搭建 FreeSwitch 呼叫系统,通常都需要录音功能,将所有的通话都进行录音,FreeSwitch 可以进行配置进行录音,默认不开启录音功能。 配置录音功能,需修改 /etc/…

    记事本 2018年11月18日
  • wordpress开启调试模式及错误日志

    公司网站制作怎么做配置文件说明 需要修改的配置文件是WordPress根目录下的 wp-config.php 文件,记得以 UTF-8 无 BOM 格式编码。 开启调试模式 设置调试模式要修改的是 …

    记事本 2023年11月18日

发表回复

登录后才能评论
WeChat