Вход на сайт cURL

Я использую cURL в первый раз. Мне нужно зайти на сайт. У меня проблема с настройкой файла cookie и извлечением, так что я могу получить доступ к этой странице не один раз, а несколько раз. Я нашел код в Интернете, для входа на сайт и «Ломать страницу» для некоторой подробной информации, чтобы получить эту страницу, потребуется много времени. поэтому я просто хочу знать, все ли в порядке! код belove (он просто для входа в код для Скребки его не готов)

<?php curl_login('http://mywantedsite.com/login.php','user=******&pass=******','','off'); echo curl_grab_page('http://mywantedsite.com/somepage.php','','off'); function curl_login($url,$data,$proxy,$proxystatus){ $fp = fopen("cookie.txt", "w"); fclose($fp); $login = curl_init(); curl_setopt($login, CURLOPT_COOKIEJAR, "cookie.txt"); curl_setopt($login, CURLOPT_COOKIEFILE, "cookie.txt"); curl_setopt($login, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)"); curl_setopt($login, CURLOPT_TIMEOUT, 40); curl_setopt($login, CURLOPT_RETURNTRANSFER, TRUE); if ($proxystatus == 'on') { curl_setopt($login, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($login, CURLOPT_HTTPPROXYTUNNEL, TRUE); curl_setopt($login, CURLOPT_PROXY, $proxy); } curl_setopt($login, CURLOPT_URL, $url); curl_setopt($login, CURLOPT_HEADER, TRUE); curl_setopt($login, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); curl_setopt($login, CURLOPT_FOLLOWLOCATION, TRUE); curl_setopt($login, CURLOPT_POST, TRUE); curl_setopt($login, CURLOPT_POSTFIELDS, $data); ob_start(); // prevent any output return curl_exec ($login); // execute the curl command ob_end_clean(); // stop preventing output curl_close ($login); unset($login); } function curl_grab_page($site,$proxy,$proxystatus){ $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); if ($proxystatus == 'on') { curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, TRUE); curl_setopt($ch, CURLOPT_PROXY, $proxy); } curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt"); curl_setopt($ch, CURLOPT_URL, $site); ob_start(); // prevent any output return curl_exec ($ch); // execute the curl command ob_end_clean(); // stop preventing output curl_close ($ch); } ?> 

Related of "Вход на сайт cURL"

вам нужно проверить, публикуете ли вы все поля публикации. На некоторых сайтах используются маркеры безопасности или идентификаторы сеансов, чтобы запретить запуск ботов на своих сайтах. в любом случае вам нужно установить расширение HTTP-заголовков HTTP. откройте его и попробуйте войти в систему вручную, а затем посмотрите, что происходит, когда вы нажимаете кнопку входа. после получения значений. добавьте затем к первой функции и повторите тест.

Сначала используйте $strPostFields для хранения имени пользователя и пароля, затем используйте

 $this->m_strResourceCurl = curl_init(); 

и в вашем скрипте cURL добавьте это

 curl_setopt( $this->m_strResourceCurl, CURLOPT_POSTFIELDS, $strPostFields ); 

Надеюсь, вы получите этот небольшой фрагмент кода.

почему бы вам не добавить параметр URL в

 $login = curl_init($url);