PHP中用cURL实现get和post请求

1、cURL简介

curl(CommandLine Uniform Resource Locator)是利用URL语法在命令行方式下或脚本中工作的开源文件传输工具。其支持的协议有DICT, FILE, FTP, FTPS, Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, Telnet ,TFTP。广泛应用在汽车、手机、路由、打印机等设备中。
深入了解具体可查看:官方文档

2、php中使用cURL建立请求

PHP也支持 cURL 库,建立请求的基本步骤:
2.1. 初始化

$ch = curl_init()

2.2.设置变量

curl_setopt() //最为重要。有一长串cURL参数可供设置,它们能指定URL请求的各个细节。

eg:
curl_setopt($ch,CURLOPT_URL,$url); //$url = "请求的url"
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($ch,CURLOPT_HEADER,0);

post请求还需设置:

    curl_setopt($ch, CURLOPT_POST,1); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //$data为post的数据

2.3.执行并获取结果

$result = curl_exec($ch) //执行并获取结果

2.4.释放cURL句柄

curl_close()
3、实例

比如:在微信中发送模板消息:

<?php
$templateArr = array(
           "touser" => "oVpDmw8kFezOHOBlJw32sIowXPzk",
           "template_id" => "2JTIAclywfVK7CUST7zSjMwkkEtEGUWLyslMOaDqGls",
           "url" => "http://weixin.qq.com/download",
           "data"=>[
                   "first" => [
                       "value"=>"恭喜你购买成功!",
                       "color"=>"#173177"
                   ],
                   "keyword1"=>[
                       "value"=>"巧克力",
                       "color"=>"#173177"
                   ],
                   "keyword2"=> [
                       "value"=>"39.8元",
                       "color"=>"#173177"
                   ],
                   "keyword3"=> [
                       "value"=>"2014年9月22日",
                       "color"=>"#173177"
                   ],
                   "remark"=>[
                       "value"=>"欢迎再次购买!",
                       "color"=>"#173177"
                   ]
           ]
       );
$accessToken = "WiWhMpImqsOY_CbDkFWhKYqVjcLQFoOdgof0-bHDjm1WK2AdJ2566tO_NSkjx76t02CrDiChYvMuaRrvn7vQpbQEOIV7lMyDXYYVhq_JhDkuoTP3p0HYGER_TbDDBcNIOZVcADAVGC"; 
$url = 'https://api.weixin.qq.com/cgi-bin/message/template/send?access_token='.$accessToken;

//调用方法发送post请求并拿到结果
$result = curl_request($url,'post',json_encode($templateArr,JSON_UNESCAPED_UNICODE));
//打印结果
var_dump($result);

//get、post数据方法
function curl_request($url, $type = "GET", $data){
    $ch = curl_init();
    curl_setopt($ch,CURLOPT_URL,$url);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
    curl_setopt($ch,CURLOPT_HEADER,0);

    $type = strtolower($type);
    switch ($type){
        case 'get':
            break;
        case 'post':
            //post请求配置
            curl_setopt($ch, CURLOPT_POST,1);
            curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
            break;
    }
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值