Скрытие ответов с использованием PHP и Curl - PullRequest
3 голосов
/ 23 апреля 2009

Я многократно использовал функцию curl, которая теперь действует не так, как я помню. В этом конкретном случае я аутентифицирую учетные данные пользователя в 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 в браузер, чего я не хочу делать.

Я не очень знаком с curl. Я попытался установить CURLOPT_VERBOSE в 0 и false, но ни один не помог. Я уверен, что это довольно простое изменение где-то, но я теряюсь в том, что это такое.

Спасибо

Ответы [ 2 ]

19 голосов
/ 23 апреля 2009

Вам нужна эта опция:

curl_setopt(CURLOPT_RETURNTRANSFER, true);

Из документов curl :

CURLOPT_RETURNTRANSFER: TRUE, чтобы вернуться перевод как строка возврата значение curl_exec () вместо выводить его напрямую.

3 голосов
/ 08 мая 2009

я написал эту функцию, чтобы упростить мои запросы 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...