Я хотел бы автоматизировать резюме из KDP (Kindle Desktop Publishing). Поскольку у них нет системы уведомлений по электронной почте (по крайней мере, об этом я не знаю), мне нужно зарегистрироваться через curl. Но это сводит меня с ума. Я использую simplehtmldom для получения скрытых входных значений своего сайта входа. Файлы cookie верны, также как и учетные данные. Есть что-то, что я совершенно не хватает? $ response всегда дает мне оригинальный сайт для входа. Рассмотрим следующий код:
function login($url) { require_once(dirname(__FILE__).'/simplehtmldom/simple_html_dom.php'); $html = file_get_html($url); $formarr = array(); $form = $html->find('#ap_signin_form',0); $formarr["email"] = $this->user; $formarr["password"] = $this->pass; foreach ($html->find('#ap_signin_form input[type=hidden]') as $i) $formarr[$i->name] = $i->value; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $form->action ); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $formarr); curl_setopt($ch, CURLOPT_USERAGENT, $this->agent); curl_setopt($ch, CURLOPT_COOKIEFILE, $this->cookie); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true ); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true ); curl_setopt($ch, CURLOPT_AUTOREFERER, true ); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false ); # required for https urls $response = curl_exec($ch); return $response; }