Я хочу понять, как работает curl в php - PullRequest
0 голосов
/ 13 июня 2019

Начал изучать CURL на PHP.
Я хочу разобраться в механизме работы некоторых строк кода, чтобы потом писать боты без проблем.
Придумал несколько вопросов.

  1. CURLOPT_COOKIEFILE - считывает файлы cookie из файла и отправляет их в запросе.
  2. CURLOPT_COOKIEJAR - записывает файлы cookie в файл.Это вариант записи куки в файл и сразу их прочитать?Во всех примерах я встречал эти 2 варианта (CURLOPT_COOKIEFILE, CURLOPT_COOKIEJAR), но во время авторизации, если я удаляю CURLOPT_COOKIEFILE, авторизация была хорошей.Возник вопрос, эта опция пишет это и сразу читает и отправляет?
  3. Далее вопрос о механизме работы например есть такой код
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');, то мне нужно снова объявить все?

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