问题 :php curl 执行post发现无返回值
调试 :直接输出后发现是乱码
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
解决:将获取的数据转码
$output = mb_convert_encoding($output, 'UTF-8', 'UTF-8,GBK,GB2312,BIG5');
另附post函数
function post($url, $data = null) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
if ($data) {
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
$output = mb_convert_encoding($output, 'UTF-8', 'UTF-8,GBK,GB2312,BIG5');
curl_close($ch);
return $output ?: '';
$url = 'http://xxx.com/ajax/GetJobInfoByBk.ashx';
$data = [
'JobTypeId' => $code,
$res = $this->post($url, $data);
dump($res);
复制代码