php 之curl实现 post请求

本文介绍如何利用PHP中的cURL库发送POST请求,并详细解释了设置cURL选项的方法,包括HTTPS请求、Header头信息、超时限制等。此外,还提供了一个常见错误及其解决办法。

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

        if(!function_exists('curl_init')){  //检查服务器是否支持curl
            return 'curl not exists';
        }
        $ch = curl_init();//初始化curl
        curl_setopt($ch, CURLOPT_URL, $postUrl);//抓取指定网页
        //如果是请求的是https页面,需要添加下面两个参数,规避ssl的证书检查
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // https请求 不验证证书和hosts
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); 
        //header头信息的添加--数组
        curl_setopt($ch, CURLOPT_HTTPHEADER, array("Connection: keep-alive",  "Content-Type: multipart/form-data", "Authorization:TOKEN " . $token));

        curl_setopt($ch, CURLOPT_HEADER, 0);//设置header
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
        curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);//上传文件或者以上传文件的形式post数据
        curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
        curl_setopt($ch, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
        curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);//post的数据
        $data = curl_exec($ch);//得到返回的数据
        $httpCode = curl_getinfo($ch,CURLINFO_HTTP_CODE);//得到的响应码
        http_response_code($httpCode);//设置响应状态码
        if (curl_errno($ch)) {
            echo 'Errno'.curl_error($ch);//捕抓异常
        }
        curl_close($ch);

经常出现的错误

因为上面用到上传文件,故上传文件为空的时候,会报错

Errno:couldn’t open file “”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值