Пытаюсь авторизироватся на 7bа при помощи курла. Ничего не выходит. Помогите, вот форма
что не так делаю.
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://7ba.ru/index.php?go=enter"); /* Переходим на страницу, на которой нужно пройти процедуру авторизации */
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,"enter_login=tiwap&password=885522"); /* Внимание! Здесь необходимо передать параметры, полученные Вами от снифферав?? параметры разделяются знаком & */
curl_setopt($ch, CURLOPT_COOKIEJAR,$_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
$result = curl_exec($ch);
curl_setopt($ch, CURLOPT_URL,"http://7ba.ru/fmp3/find.php"); /* Теперь заходите на сайт как авторизованный пользовательв?? в данном случае нужно вместо example.comуказать URL страницы, на которую может попасть только авторизованный пользователь*/
curl_setopt($ch, CURLOPT_POST, 0); /* Также необязательное действие, но я указал этот параметр в?? устанавливаю CURLOPT_POST в нуль, ведь теперь мне не нужно передавать данные методом POST */
curl_setopt($ch, CURLOPT_COOKIEFILE,$_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt'); /* Внимание! Здесьтретий параметр (адрес текстового файла с куками) должен быть точно таким же, как и при использовании CURLOPT_COOKIEJAR, иначе процедура авторизации работать не будет, так как требуемые серверу Куки не передадутся */
$result = curl_exec($ch);
http://7ba.ru/index.php?act=enter&go=enter
добавлено спустя 43 секунды:
enter_login=tiwap&enter_pass=885522
Чтото не так.
Вот как я преобразил это всё. Может сдесь косяк?
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://7ba.ru/index.php?act=enter&go=enter"); /* Переходим на страницу, на которой нужно пройти процедуру авторизации */
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,"enter_login=tiwap&enter_pass=885522"); /* Внимание! Здесь необходимо передать параметры, полученные Вами от снифферавппп параметры разделяются знаком & */
curl_setopt($ch, CURLOPT_COOKIEJAR,$_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
$result = curl_exec($ch);
curl_setopt($ch, CURLOPT_URL,"http://7ba.ru/fmp3/find.php"); /* Теперь заходите на сайт как авторизованный пользовательв в данном случае нужно вместо example.comуказать URL страницы, на которую может попасть только авторизованный пользователь*/
curl_setopt($ch, CURLOPT_POST, 0); /* Также необязательное действие, но я указал этот параметр устанавливаю CURLOPT_POST в нуль, ведь теперь мне не нужно передавать данные методом POST */
curl_setopt($ch, CURLOPT_COOKIEFILE,$_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt'); /* Внимание! Здесьтретий параметр (адрес текстового файла с куками) должен быть точно таким же, как и при использовании CURLOPT_COOKIEJAR, иначе процедура авторизации работать не будет, так как требуемые серверу Куки не передадутся */
$result = curl_exec($ch);
$ch = curl_init("http://7ba.ru/fmp3/find.php?".$_SERVER['QUERY_STRING']);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Accept: text/html, application/xml, application/xhtml xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;', 'Accept-Language: ru, en, *;', 'Accept-Charset: iso-8859-1, utf-8, utf-16, *;', 'Accept-Encoding: identity;', 'Connection: close'));
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['USER_AGENT']);
curl_setopt($ch, CURLOPT_REFERER, 'http://google.ru');
$file = curl_exec($ch);
$file=preg_replace('/<?(.*?)<div class="tl">/si','<div class="i">',$file);
$file=preg_replace('/<div class="v1">(.*?)<\/html>/si','',$file);
$file=str_replace('/img/kv.gif','/design/default/act.gif',$file);
echo $file;
curl_close($ch);
?>
Из мануала:
CURLOPT_COOKIEJAR
Имя файла, в котором будут сохранены все внутрение cookies текущей передачи после закрытия дескриптора, например, после вызова curl_close
Makarov, нет, расширение файла может быть любым, проверь стоят ли права на запись на файл, идет ли туда запись при авторизации, что то мне кажется ты либо файл не создал либо права не поставил
24 Ноя 2012, 18:43