在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

相关推荐

  • git放弃本地修改代码全部使用远程

    直播网站开发公司git强制覆盖:    git fetch –all    git reset –hard origin/master    git pull  git强制覆盖本地命令(单条执行)…

    记事本 2023年11月18日
  • Jquery attr() data() 获取 HTML 元素属性

    直播网站开发公司使用Jquery data() 获取自定义数据时,获取到的数据与原来的数据不同,后来发现是 data 方法将获取到的数据进行了转换,由于该数字已经超过了32位整数的最大值,因此Ja…

    2023年12月7日
  • wordpress 绑定多个域名方法

    直播网站开发公司WordPress在安装的时候会默认绑定当前的域名,如安装时域名为 a.com,在访问www.a.com时,会自动跳到a.com,绑定其它域名时也会跳转,给大家分享一下WordPr…

    记事本 2023年11月18日
  • TCPDF将中文字体设置为内嵌字体的方法

    直播网站开发公司PHP的PDF扩展库TCPDF将中文字体设置为内嵌字体的方法 下载要设置的字体,如名为simfang.ttf,放在./vendor/tecnickcom/tcpdf/tools目录…

    记事本 2023年11月18日
  • Google浏览器离线版下载方法

    直播网站开发公司打开地址: https://www.google.cn/chrome/?standalone=1&platform=win64 ,再点击 在此下载时就可以下载到 chrom…

    2024年3月16日
  • CentOS 相关安全设置

    直播网站开发公司1、centos 修改密码强度策略修改 /etc/pam.d/system-auth 在 password requisite pam_pwquality.so 中添加minlen…

    记事本 2023年12月13日
  • 让你的FastAdmin在PHP8下运行

    直播网站开发公司PHP8发布很长时间了,但FastAdmin还不能在PHP8下运行,官方文档环境要求 PHP >= 7.2 且 <= 7.4 (推荐PHP7.4版本),因为一些开源扩展…

    2023年11月18日
  • windows系统下PhpStorm试用版下载地址

    直播网站开发公司PhpStorm 是 JetBrains 公司开发的一款商业的PHP集成开发工具,旨在提高用户效率,可深刻理解用户的编码,提供智能代码补全,快速导航以及即时错误检查。 win系统,…

    2024年3月16日
  • CentOS7 安装 FreeSWITCH 配置呼叫中心

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

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

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

    记事本 2023年11月18日

发表回复

登录后才能评论
WeChat