Возможно, вас забанили при входе в систему. Это даст вам больше информации о проблеме:
// change
// if (!$siteSource) echo 'Help!';
// to
if ($siteSource === false)
{
echo 'Curl error: ' . curl_error($curl);
}
РЕДАКТИРОВАТЬ: некоторые другие варианты, которые вы можете попробовать (связанные с SSL решили мои проблемы более чем один раз):
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0)');
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_VERBOSE, 1);
// following is very important
// TRUE to follow any "Location: " header that the server sends
// as part of the HTTP header (note this is recursive, PHP will follow
// as many "Location: " headers that it is sent, unless CURLOPT_MAXREDIRS is set).
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
РЕДАКТИРОВАТЬ 2: После выбора опции вы получите возвращенные заголовки (используйте только для отладки). Кроме того, убедитесь, что cookie.txt используется правильно (доступен для записи и записи).
curl_setopt($curl, CURLOPT_HEADER, true);
Это все, что я могу сделать на моей стороне. Теперь ланч!
РЕДАКТИРОВАТЬ 3: Связанные файлы cookie:
$cookie_file = PATH_TO_YOUR_COOKIE_FILE . '/cookie.txt';
if (! file_exists($cookie_file) || ! is_writable($cookie_file))
{
echo 'Cookie file missing or not writable.';
exit;
}
// you already added the following, I put it again just to remark their utility
curl_setopt($curl, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($curl, CURLOPT_COOKIEJAR, $cookie_file);
РЕДАКТИРОВАТЬ 4: Всегда проверяйте это в начале:
if ( ! extension_loaded('curl'))
{
echo "You need to load/activate the curl extension.";
}
Если вы получили эту ошибку, активируйте curl в php.ini
, раскомментировав / удалив переднюю ;
windows:
;extension=php_curl.dll // or curl.dll
linux:
;extension=php_curl.so // or curl.so
и перезапустите веб-сервер. Если вы не нашли эту строку, вам нужно установить curl:
// ubuntu
sudo apt-get install php5-curl
// centos
sudo yum install php5-curl
Для окон или вашего сервера вам тоже должно быть легко.