Достаточно ли использовать такое соединение для эмуляции? Код (Text): //запускаем cURL $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_URL,$goUrl); curl_setopt($ch, CURLOPT_REFERER,$refUrl); curl_setopt($ch, CURLOPT_POST,0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION,0); curl_setopt($ch, CURLOPT_AUTOREFERER,1); curl_setopt($ch, CURLOPT_MAXREDIRS,5); curl_setopt($ch, CURLOPT_TIMEOUT,60); curl_setopt($ch, CURLOPT_USERAGENT,$Browser); curl_setopt($ch, CURLOPT_HEADER,1); curl_setopt($ch, CURLOPT_COOKIEJAR,getcwd().$cookieFile); curl_setopt($ch, CURLOPT_COOKIEFILE,getcwd().$cookieFile); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false); curl_setopt($ch, CURLOPT_NOBODY,true); curl_setopt($ch, CURLOPT_VERBOSE,true);
Я только начал использовать cURL. Потому не очень понимаю как правильно задать вопрос. Например запускаю вот такой код: Код (Text): <?php $goUrl="http://wmpublic.com"; $refUrl="http://google.com"; $cookieFile="/cookie.txt"; $Browser="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13 ( .NET CLR 3.5.30729)"; @ini_set("display_errors","1"); @error_reporting( E_ALL ); @date_default_timezone_set('Europe/Moscow'); //запускаем cURL $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_URL,$goUrl); curl_setopt($ch, CURLOPT_REFERER,$refUrl); curl_setopt($ch, CURLOPT_POST,0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION,0); curl_setopt($ch, CURLOPT_AUTOREFERER,1); curl_setopt($ch, CURLOPT_MAXREDIRS,5); curl_setopt($ch, CURLOPT_TIMEOUT,60); curl_setopt($ch, CURLOPT_USERAGENT,$Browser); curl_setopt($ch, CURLOPT_HEADER,1); curl_setopt($ch, CURLOPT_COOKIEJAR,getcwd().$cookieFile); curl_setopt($ch, CURLOPT_COOKIEFILE,getcwd().$cookieFile); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false); curl_setopt($ch, CURLOPT_NOBODY,true); curl_setopt($ch, CURLOPT_VERBOSE,true); //выводим результат $result = curl_exec($ch); //эти две строки для проверки ответа сервера //echo "\r\n\r\n".$result."\r\n\r\n"; //echo "Curl error:".curl_error($ch)."\r\n\r\n"; curl_close($ch); ?> В итоге, в файле cookie.txt получаю ответ от сервера. wmpublic.com FALSE / FALSE 1425972182 hide_id 1417332182 wmpublic.com FALSE / FALSE 1417418582 wmp_referer http%3A%2F%2Fgoogle.com .wmpublic.com TRUE / FALSE 1453332182 sid bc74b9816986a00baf384c40c88bbc79 wmpublic.com FALSE / FALSE 1417380875 banner_count 8 Если я сделаю переход на другую страницу этого сайта, то cURL сам подставит необходимые файлы из cookie.txt или я ошибаюсь?
Если настроить его чтобы он подставлял, то он подставит. За это отвечает CURLOPT_COOKIEFILE, сохраняет CURLOPT_COOKIEJAR
Например curl зашел на сайт и получил куки. Что бы перейти на другую страницу, надо использовать сессии или они тут совсем ни к чему?