问题一:curl post 返回为空
参数类型:json类型
今天来了一个需求请求第三方网站接口并把数据保存到mongo中
postMan 请求给到的接口在 raw中填写参数,成功返回
编写代码使用curl请求给到的接口,然后却报错了,post的参数使用数组的方式并且是二维数组,请求回来显示是空的字符串
然后一脸懵,postMan请求成功,为毛curl 请求不成功,然后看到参数写在raw中并且是个json字符串
解决思路:百度关键字“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, ""); 就可以了 这句话的意思是 :自己不指定编码,显示接口网站的编码
官方解释