Вот мой код, чтобы использовать завиток:Невозможно включить куки в PHP локон
class cURL {
var $headers;
var $user_agent;
var $compression;
var $cookie_file;
var $proxy;
var $process;
function cURL($cookies = TRUE, $cookie = 'cookies.txt', $compression = 'gzip', $proxy = '') {
$this->headers [] = 'Connection: Keep-Alive';
$this->headers [] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8';
$this->user_agent = '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)';
$this->compression = $compression;
$this->proxy = $proxy;
$this->cookies = $cookies;
if ($this->cookies == TRUE)
$this->cookie ("c:/wamp/www/googlegroups/cookies/".$cookie);
$this->process = curl_init();
curl_setopt ($this->process, CURLOPT_HTTPHEADER, $this->headers);
curl_setopt ($this->process, CURLOPT_USERAGENT, $this->user_agent);
if ($this->cookies == TRUE)
curl_setopt ($this->process, CURLOPT_COOKIEFILE, $this->cookie_file);
if ($this->cookies == TRUE)
curl_setopt ($this->process, CURLOPT_COOKIEJAR, $this->cookie_file);
curl_setopt ($this->process, CURLOPT_ENCODING, $this->compression);
curl_setopt ($this->process, CURLOPT_TIMEOUT, 30);
if ($this->proxy)
curl_setopt ($this->process, CURLOPT_PROXY, $this->proxy);
curl_setopt ($this->process, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($this->process, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($this->process, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt ($this->process, CURLOPT_SSL_VERIFYPEER, 0);
}
function __destruct(){
curl_close ($this->process);
unlink($this->cookie_file);
}
function cookie($cookie_file) {
if (file_exists ($cookie_file)) {
$this->cookie_file = $cookie_file;
} else {
if($fp = fopen ($cookie_file, 'w'))
{
fclose($fp);
}
else $this->error ('The cookie file could not be opened. Make sure this directory has the correct permissions');
$this->cookie_file = $cookie_file;
}
}
function get($url) {
curl_setopt ($this->process, CURLOPT_POST, 0);
curl_setopt ($this->process, CURLOPT_URL, $url);
$return = curl_exec ($this->process);
return $return;
}
}
$cc = new cURL();
echo $cc->get("http://127.0.0.1/googlegroups/testcookie.php");
Это очень странный тип локон-х неисправно, что я никогда не испытывал раньше. и это выход testcookie.php:
Куки НЕ включен в вашем браузере
Вот забавная вещь, если вы удалите Разорвать связь ($ this-> cookie_file); от функции уничтожения файл куки не будет удален и в следующий раз вы будете запускать этот скрипт, вы получите
Cookies включен в вашем браузере
источник testcookie.php код:
setcookie("test","test");
if (isset ($_COOKIE['test']))
{
echo "Cookies are enabled on your browser";
}
else
{
echo "Cookies are <b>NOT</b> enabled on your browser";
}
ничего себе! setcookie() устанавливает cookie в заголовке ответа клиенту. _COOKIE содержит значение в заголовке запроса.! Отличная точка! Я не видел этого! благодаря – EBAG