Начал изучать CURL на PHP.
Я хочу разобраться в механизме работы некоторых строк кода, чтобы потом писать боты без проблем.
Придумал несколько вопросов.
CURLOPT_COOKIEFILE
- считывает файлы cookie из файла и отправляет их в запросе. CURLOPT_COOKIEJAR
- записывает файлы cookie в файл.Это вариант записи куки в файл и сразу их прочитать?Во всех примерах я встречал эти 2 варианта (CURLOPT_COOKIEFILE
, CURLOPT_COOKIEJAR
), но во время авторизации, если я удаляю CURLOPT_COOKIEFILE
, авторизация была хорошей.Возник вопрос, эта опция пишет это и сразу читает и отправляет? - Далее вопрос о механизме работы например есть такой код
curl_setopt($this->ch, CURLOPT_URL, 'URL_OF_LOGIN_PAGE');
curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($this->ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($this->ch, CURLOPT_COOKIEJAR, $this->cookie);
$token = $this->getElementsData(curl_exec($this->ch), array(
'input[name="__RequestVerificationToken"]' => array('value')
));
curl_setopt($this->ch, CURLOPT_POST, true);
curl_setopt($this->ch, CURLOPT_POSTFIELDS, array(
'username' => $this->username,
'password' => $this->password,
'__RequestVerificationToken' =>
$token['input[name="__RequestVerificationToken"]']['value']
));
curl_exec($this->ch);
curl_setopt($this->ch, CURLOPT_URL, 'URL_OF_AUCTIONS');
curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, true);
$json = json_decode(curl_exec($this->ch), true);
Как только я использовалcurl_setopt ($this->ch, CURLOPT_URL, 'URL_OF_LOGIN_PAGE');
тогда все следующие опции будут применяться только к curl_setopt ($ this-> ch, CURLOPT_URL, 'URL_OF_LOGIN_PAGE');
и после вызова curl_exec($this->ch);
они будут сброшены?Если я хочу перейти на другую страницу, например curl_setopt($this->ch, CURLOPT_URL, 'URL_OF_AUCTIONS');
, то мне нужно снова объявить все?