【问题解决】curl 请求接口,返回值中的浮点数被强转为整型

本文探讨了通过不同方式发送GET请求时,返回值中浮点数被转换为整数的问题。具体表现为从浏览器直接访问时,C字段返回正常浮点数;而使用curl时,该字段显示为0。文中提供了使用GuzzleHttpClient库解决问题的方法。

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

Thanks for stopping by !

【背景】

相同接口,使用 GET 方式,若直接从浏览器(Firefox 或 chrome)直接访问,返回值中的C字段,返回值为0.087966554。

当使用 curl方式 请求,C字段返回值为0。

【解决方法】

使用 GuzzleHttp\Client 方法,如下:

    private function requestApi($url)
    {
        $client = new Client();
        $response = $client->get($url);
        if ($response->getStatusCode() == 200) {
            return $response->getBody()->getContents();
        } else {
            return [];
        }
    }

【为什么 curl 会将 float 转为 int ?】

尚未找到原因。

致谢:https://stackoverflow.com/questions/959063/how-to-send-a-get-request-from-php/55618645#55618645?newreg=dfc597b9993d472bb8e8af51f19871b6   感谢 Mark Baaijens 的解决方案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值