【发布时间】:2019-09-19 14:01:51
【问题描述】:
我已经手动运行邮递员的网址,我已经成功连接并打印了结果。
但是当我尝试从方法调用它时,没有打印结果。
这是我使用的 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, like Gecko) Chrome/29.0.1547.57 Safari/537.36 接受:/ 内容长度:142 内容类型: 多部分/表单数据;边界=------------78a116d61ad4939d
还要注意 curlHandle() 来自另一个项目和 localhost/codeignitertest 但两者都在我的 localhost 中运行
【问题讨论】:
-
您已发出 CURLOPT_RETURNTRANSFER 选项,随后返回结果。此代码不应打印任何内容。
-
完美!它有效,您可以发布您的答案以便我投票吗? :)
标签: php codeigniter curl