在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($outputtrue);
}

 

本文收集于网络,仅供技术交流使用,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容, 欢迎发送邮件至 admin@webse.cn 举报,一经查实,本站将立刻删除涉嫌侵权内容,本文链接:https://webse.cn/877.html

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 2018-10-17 22:08
下一篇 2018-10-20 09:28

相关推荐

发表回复

登录后才能评论