卷曲不打印结果

时间:2019-04-30 21:29:19

标签: php codeigniter curl

我已经手动运行邮递员的网址,并且已经成功连接并打印了结果。

但是当我尝试从方法中调用它时,没有结果。

这是我使用的curl代码:

public function curlHandle($apiPath, $postArray)
{
    $CI = & get_instance();
    $conf = $CI->config->config;
    $curlHandle = curl_init($apiPath);
    curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curlHandle, CURLOPT_USERAGENT,"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.57 Safari/537.36");
    curl_setopt($curlHandle, CURLOPT_TIMEOUT , 300);
    curl_setopt($curlHandle, CURLOPT_POST, 1);
    curl_setopt($curlHandle, CURLOPT_POSTFIELDS, $postArray);
    curl_setopt($curlHandle, CURLOPT_VERBOSE, 1);
    $fp = fopen('/var/www/html/logs/curl_log.txt', 'w');
    curl_setopt($curlHandle, CURLOPT_STDERR, $fp);
    $result = curl_exec($curlHandle);
    print_r(curl_error($curlHandle));
    if ($result === FALSE) {
        die(curl_error($curlHandle));
    } else {
         $data = json_decode($result, TRUE);
    }
    curl_close($curlHandle);
    return $data;

}

这是curl_log.txt的内容

  
      
  • 在DNS缓存中找到主机名localhost / codeignitertest
  •   
  • 正在尝试127.0.0.1 ...
  •   
  • 设置了TCP_NODELAY
  •   
  • 已连接到localhost / codeignitertest(127.0.0.1)端口80(#0)      
        

    POST / test / process HTTP / 1.1主机:localhost / codeignitertest用户代理:Mozilla / 5.0(X11; Linux     x86_64)AppleWebKit / 537.36(KHTML,例如Gecko)Chrome / 29.0.1547.57     Safari / 537.36接受: / 内容长度:142内容类型:     多部分/表单数据;边界= ------------------------ 78a116d61ad4939d

      
  •   
     

还请注意curlHandle()来自另一个项目和localhost / codeignitertest,但是两者都在我的localhost中运行

1 个答案:

答案 0 :(得分:0)

您已发出此选项:

curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, true);

这意味着curl将返回远程服务器的输出,而不是打印输出。

然后将输出捕获到变量中:

$result = curl_exec($curlHandle);

然后您将其编码并返回给呼叫者:

return $data;

此代码不应打印结果。它返回结果。