网上查的解决方案:https://blog.csdn.net/sunsijia21983/article/details/123204143

问题:

PHP用curl模拟GET请求接口报错HTTP Status 400 – Bad Request

http://xxx/api/getZList?page=1&limit=20&zName=测试

参数zName是英文、数字的时候都不会报错,输入汉字就报错400;

解决方案:http_build_query处理一下请求参数

$params = ['page'=>$page,'limit'=>$limit,'zName'=>'测试'];
http://xxx/api/getZList?http_build_query($params);

注:http_build_query 使用说明