curl_exec всегда возвращает 0? - PullRequest
0 голосов
/ 09 июня 2011

У меня есть эта функция:

function Connect($url, $post = 0, $postfields = '') 
{
    $ch = curl_init();
    if($post > 0) {
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
    } 
    curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__).'/joomla-cookie.txt');
    curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__).'/joomla-cookie.txt');
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    $exec = curl_exec($ch);
    if($exec) { return $exec; } else { return 0; }
}

Я называю это так Connect($host)

И она всегда возвращает 0 ...

Ответы [ 2 ]

2 голосов
/ 09 июня 2011

Попробуйте установить для CURLOPT_SSL_VERIFYPEER и CURLOPT_SSL_VERIFYHOST значение false. это должно сработать.

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
1 голос
/ 09 июня 2011

Проверьте, не было ли ошибки в запросе после curl_exec:

if(curl_errno($ch)){
    echo 'Curl error: ' . curl_error($ch);
}

Это предоставит вам достаточно информации, чтобы узнать, была ли ошибка в запросе.Если ошибки не было, вы можете проверить запрос, отправленный после curl_exec, чтобы дважды проверить, все ли отправлено:

print_r(curl_getinfo($ch));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...