我正在重复使用很久以前的卷曲功能,现在的行为与我记忆中的不同。在这种特殊情况下,我正在验证用户的Twitter凭据。这是现在的代码:
$cred = $_POST['twitter_username'].':'.$_POST['twitter_password'];
$url = "http://twitter.com/account/verify_credentials.json";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_GET, 0);
curl_setopt($ch, CURLOPT_USERPWD, $cred);
$result = curl_exec ($ch);
curl_close ($ch);
这对于身份验证工作正常,但是将整个JSON响应输出到浏览器,我不想这样做。
我对卷发不太熟悉。我尝试将CURLOPT_VERBOSE设置为0和false,但都没有工作。我确信这是一个非常简单的改变,但我失去了它的本质。
由于
答案 0 :(得分:18)
您需要此选项:
curl_setopt(CURLOPT_RETURNTRANSFER, true);
来自curl docs:
CURLOPT_RETURNTRANSFER
:TRUE返回 转移为一串返回 curl_exec()的值而不是 直接输出。
答案 1 :(得分:3)
我写了这个函数来帮助简化我的CURL请求
function curl_http_request ($url, $options)
{
$handle = curl_init($url);
curl_setopt_array($handle, $options);
ob_start();
$buffer = curl_exec($handle);
ob_end_clean();
curl_close($handle);
return $buffer;
}
使用示例
$options = array(
CURLOPT_RETURNTRANSFER => TRUE,
CURLOPT_USERPWD => $cred
);
curl_http_request($url, $options);