简单封装一个curl 的get/post请求的方法 带cookie参数

博客直接贴出代码,包含普通登录和带cookie参数调用第三方接口的代码,还给出一篇适合新手的相关文章网址http://www.php.cn/php-weizijiaocheng-393305.html。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不多说,直接贴代码,以备今后用到


/**
 * curl发送http请求
 * @param string $url url地址
 * @param array $arr post要提交的参数,键值数组
 * @param cookie $cookie post要提交的参数,多个参数用分号隔开
 * @parma       string         $type      请求类型,默认get
 * @parma       boolean        $json      是否返回json  默认是json返回
 */
function http_curl($url, $arr = '', $type = 'get', $cookie = '' ,$header = '0', $json = true)
{
    $ch = curl_init();//初始化curl
    //不验证ssl
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_URL, $url);//抓取指定网页
    curl_setopt($ch, CURLOPT_HEADER, $header);//设置header
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
    curl_setopt($ch,CURLOPT_COOKIE, $cookie);//带cookie参数
    //curl_setopt($ch,CURLOPT_COOKIE, 'user=***;key=***');

    if ($type == 'post') {
        curl_setopt($ch, CURLOPT_POST, 1);
        if ($arr) {
            curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($arr));//处理二维数组
//            curl_setopt($ch, CURLOPT_POSTFIELDS, $arr);//一维数组
        }
    }
    $data = curl_exec($ch);//运行curl
    curl_close($ch);
    if ($json) {
        return json_decode($data, true);
    } else {
        return $data;
    }
}

 

调用:

普通登录

public function login(){
        $url = 'http://openapi.fairsense.cn/api/v2/project/user/login';
        $param = [
            'username'=>'*****',
            'password'=>'*****@'
        ];
        $result =  http_curl($url,$param,'post');//post调用

        return $result;
    }

带cookie参数的调用

 public function stations(){
        $url = 'http://openapi.fairsense.cn/api/v2/stations';
        $result = self::login();

        if($result){
            $param = [];
            //cookie值,字符串类型,多字段中间用分号隔开
            $cookie = 'username=zzjkq;'.'ssid='.$result;
            $data =  http_curl($url,$param,'post',$cookie);
        }
}

 

备注:前面看到一个写的不错的文章,适合我这种新手,贴上网址先http://www.php.cn/php-weizijiaocheng-393305.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值