PHP CURL PSOT 参数为json对象

问题一:curl post 返回为空

参数类型:json类型

今天来了一个需求请求第三方网站接口并把数据保存到mongo中

postMan 请求给到的接口在 raw中填写参数,成功返回

编写代码使用curl请求给到的接口,然后却报错了,post的参数使用数组的方式并且是二维数组,请求回来显示是空的字符串

然后一脸懵,postMan请求成功,为毛curl 请求不成功,然后看到参数写在raw中并且是个json字符串

PHP CURL PSOT 参数为json对象_第1张图片

解决思路:百度关键字“PHP中如何POST提交raw数据” ,然后看到post提交数据为json格式,把post提交数组改成json格式

参考地址:http://www.php.cn/php-weizijiaocheng-110229.html 

改完提交的数据引出第二个问题,返回数据乱码

问题二:curl post 参数返回乱码 

尝试解决乱码设置header头 编码改成utf-8,GB2312,然而还是依旧乱码

解决方法:百度关键字“CURL POST提交raw数据 返回回来乱码” 

参考地址:http://www.php.cn/php-weizijiaocheng-333750.html


在编写的代码中 加一句 curl_setopt($ch, CURLOPT_ENCODING, "");  就可以了 这句话的意思是 :自己不指定编码,显示接口网站的编码

官方解释

你可能感兴趣的:(PHP CURL PSOT 参数为json对象)