Хранение скручиваемости

0

Я закодировал PHP скрипт для имитации веб-браузера. В основном, его задача - fetch Url, сохранить связанные cookies и проанализировать его, чтобы получить некоторые данные.

Он работал хорошо до понедельника днем, но неожиданно он больше не хранит cookies в требуемом каталоге. Я предполагаю, что мой код не обновлялся и не изменялся.

В каталоге, куда должны быть CHMOD 755 cookies, есть CHMOD 755.

Вот код, который я использую до сих пор:

$options = array(
   CURLOPT_URL               => $url,
   CURLOPT_RETURNTRANSFER    => 1,
   CURLOPT_HEADER            => 0,
   CURLOPT_FAILONERROR       => 1,
   CURLOPT_USERAGENT         => $this->user_agent,
   CURLOPT_CONNECTTIMEOUT    => 30,
   CURLOPT_TIMEOUT           => 30,
   CURLOPT_SSL_VERIFYPEER    => 0,   
   CURLOPT_FOLLOWLOCATION    => 1,
   CURLOPT_MAXREDIRS         => 10,
   CURLOPT_AUTOREFERER       => 1,
   CURLOPT_COOKIESESSION     => $reset_cookies ? 1 : 0,
   CURLOPT_COOKIEJAR         => $this->cookies_file,
   CURLOPT_COOKIEFILE        => $this->cookies_file,
   CURLOPT_SSL_CIPHER_LIST   => 'TLSv1',
);

// Add headers
if (isset($custom_headers))
{
   $options[CURLOPT_HTTPHEADER] = $custom_headers;
}

// Add POST data
if (isset($post_data))
{
   $options[CURLOPT_POST]          = 1;
   $options[CURLOPT_POSTFIELDS]    = http_build_query($post_data);
}

// Attach options
curl_setopt_array($this->curl, $options);

// Execute the request and read the response
$content = curl_exec($this->curl);

// Handle any error
if (curl_errno($this->curl)) throw new Exception(curl_error($this->curl));

return $content;

Чтобы создать файл cookie на основе текущего ID сеанса, я использую этот код:

// Create a cookie file
$this->cookies_file = dirname(__FILE__) . '/../cookies/' . $this->session_id .'.cookie';
if (!file_exists($this->cookies_file)) file_put_contents($this->cookies_file, '');

Знаете ли вы, что и почему это происходит? Кроме того, он работает отлично под WAMP.

Теги:
curl
cookies

1 ответ

0
Лучший ответ

Решение заключалось в том, чтобы установить разрешения для cookies directory на 644.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню