Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Curl-авторизация

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (3): [1] 2 3 »   

> Описание: Сайт Вконтакте
InviS
Отправлено: 19 Апреля, 2010 - 02:05:17
Post Id


Гость


Покинул форум
Сообщений всего: 107
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Подскажите, пожалуйста, почему у меня не получается авторизоваться в контакте с сервера? Дома у меня прекрасно заходит и выводит мою страничку (на Denwer). Как только я выкладываю все на сервер, то все перестает работать. Вот код, с помощью которого я пытаюсь авторизоваться:
PHP:
скопировать код в буфер обмена
  1. function get_page_post($url,$postdata) {
  2.           $uagent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)";
  3.          
  4.           $ch = curl_init( $url );
  5.           curl_setopt($ch, CURLOPT_URL, $url);
  6.           curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  7.           curl_setopt($ch, CURLOPT_HEADER, 0);
  8.           curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  9.           curl_setopt($ch, CURLOPT_ENCODING, "");
  10.           curl_setopt($ch, CURLOPT_USERAGENT, $uagent);
  11.           curl_setopt($ch, CURLOPT_TIMEOUT, 120);
  12.           curl_setopt($ch, CURLOPT_FAILONERROR, 1);
  13.           curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
  14.           curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt");
  15.           curl_setopt($ch, CURLOPT_COOKIEFILE,"cookies.txt");
  16.  
  17.           $content = curl_exec( $ch );
  18.           $err     = curl_errno( $ch );
  19.           $errmsg  = curl_error( $ch );
  20.           $header  = curl_getinfo( $ch );
  21.           curl_close( $ch );
  22.  
  23.           $header['errno']   = $err;
  24.           $header['errmsg']  = $errmsg;
  25.           $header['content'] = $content;
  26.  
  27.           return $header;
  28.         }
 
 Top
akaish
Отправлено: 19 Апреля, 2010 - 04:18:57
Post Id



Новичок


Покинул форум
Сообщений всего: 8
Дата рег-ции: Апр. 2010  
Откуда: СПБ


Помог: 0 раз(а)




ИМХО, скорее всего у хостера не установлен модуль curl.


-----
Скучно...
 
 Top
InviS
Отправлено: 19 Апреля, 2010 - 07:56:39
Post Id


Гость


Покинул форум
Сообщений всего: 107
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




В таком случае мне писало бы что-то типа "Call undefined function curl_init()", но этого не пишет. В настройках хостера модуль cURL присутствует...
 
 Top
Viper
Отправлено: 19 Апреля, 2010 - 08:41:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)






в списке есть curl ?


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
JustUserR
Отправлено: 19 Апреля, 2010 - 12:04:54
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




InviS пишет:
Как только я выкладываю все на сервер, то все перестает работать
Каким образом именно перестает работать - то есть каким сообщениями об ошибках это сопровождается? Также проверьте есть ли у вас права на чтения файла cookies.txt - и правильно при прописан путь к нему (Потому чо basedir может быть и не текущей папкой с PHP-скриптом при определенных настройках)


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
InviS
Отправлено: 19 Апреля, 2010 - 17:11:33
Post Id


Гость


Покинул форум
Сообщений всего: 107
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Файл прекрасно читается - тестировал. Посмотрел ошибку cURL - выдает:
CODE (htmlphp):
скопировать код в буфер обмена
  1. 6 - Couldn't resolve host

А на денвере все ОК... В чем загвоздка?! ;(
 
 Top
movEAX
Отправлено: 19 Апреля, 2010 - 18:53:57
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009  


Помог: 16 раз(а)




PHP:
скопировать код в буфер обмена
  1. $mail = '';
  2. $pass =  '';
  3.  
  4. $vk = curl_init('http://login.vk.com/?act=login');
  5.  
  6. curl_setopt_array($vk,array(CURLOPT_USERAGENT=>'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 WebMoney Advisor',
  7.                                                                                           CURLOPT_POST =>1,
  8.                                                                                           CURLOPT_RETURNTRANSFER =>1,
  9.                                                                                           CURLOPT_FOLLOWLOCATION=>1,
  10.                                                                                           CURLOPT_REFERER=>'http://vkontakte.ru/index.php',
  11.                                                                                           CURLOPT_POSTFIELDS=>'email='.$mail.'&pass='.$pass.'&expire=&vk='));
  12. $res = curl_exec($vk);
  13. preg_match('!value=\'(.{30,})\'!Um',$res,$SID);
  14. $SID = $SID[1]; //remixsid=


Вроде раньше работало.
ps: SID - сессия. Передается в куках как remixisid

(Отредактировано автором: 19 Апреля, 2010 - 18:54:59)



-----
армия.. самое убогое место
 
 Top
Мелкий Супермодератор
Отправлено: 19 Апреля, 2010 - 19:14:57
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




InviS пишет:
6 - Couldn't resolve host

недоступен DNS-сервер. Запишите вместо доменного адреса сайта его ip, должно работать до следующей смены ip контактом.


-----
PostgreSQL DBA
 
 Top
kochan10
Отправлено: 19 Апреля, 2010 - 19:22:46
Post Id


Гость


Покинул форум
Сообщений всего: 118
Дата рег-ции: Дек. 2009  


Помог: 0 раз(а)




Тогда придётся отправлять заголовок "Host: vk.com" т.к. на одном адресе висит много хостов.

(Отредактировано автором: 19 Апреля, 2010 - 19:40:53)

 
 Top
InviS
Отправлено: 19 Апреля, 2010 - 19:40:31
Post Id


Гость


Покинул форум
Сообщений всего: 107
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Я проверил прошлый пост - результат тот же. Чистый лист... и
Couldn't resolve host 'login.vk.com'

Если явно указать ip, я писал 93.186.228.129, то я не могу задать, чтоб он переходил на страницу...
Дома у меня работает и так и так. И через ip - могу вывести свою страничку...
На хостинге же - никак. Когда явно ip задавать, то я получаю код 302 страницы... почему - не знаю. Ппц вообще какой-то...

(Отредактировано автором: 19 Апреля, 2010 - 19:41:32)

 
 Top
chaynyk
Отправлено: 19 Апреля, 2010 - 22:00:12
Post Id



Гость


Покинул форум
Сообщений всего: 118
Дата рег-ции: Сент. 2007  
Откуда: MOSCOW


Помог: 0 раз(а)




Да, сложная задача! Хм
Все очень просто, Ха-ха
Когда, кладешь на хост, по умолчанию главная твоя папочка имеет права 750 или что то подобное. А дома у тебя (на Denwer) все это по барабану.
По этому создаешь папочку для куков /cookies/. Задаешь права 777 для не её.
Именяешь код
PHP:
скопировать код в буфер обмена
  1. curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt");
  2.  curl_setopt($ch, CURLOPT_COOKIEFILE,"cookies.txt");

на:
PHP:
скопировать код в буфер обмена
  1. curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies/cookies.txt");
  2.  curl_setopt($ch, CURLOPT_COOKIEFILE,"cookies/cookies.txt");

И все начинает работать. Подмигивание


-----
Чайник в PHP и SEO,http://fleshky[dot]ru
 
 Top
InviS
Отправлено: 19 Апреля, 2010 - 23:16:32
Post Id


Гость


Покинул форум
Сообщений всего: 107
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




chaynyk пишет:
Когда, кладешь на хост, по умолчанию главная твоя папочка имеет права 750 или что то подобное. А дома у тебя (на Denwer) все это по барабану.

Ага Улыбка Сделал все. Ошибка та же)))
 
 Top
chaynyk
Отправлено: 19 Апреля, 2010 - 23:37:38
Post Id



Гость


Покинул форум
Сообщений всего: 118
Дата рег-ции: Сент. 2007  
Откуда: MOSCOW


Помог: 0 раз(а)




InviS пишет:
chaynyk пишет:
Когда, кладешь на хост, по умолчанию главная твоя папочка имеет права 750 или что то подобное. А дома у тебя (на Denwer) все это по барабану.

Ага Улыбка Сделал все. Ошибка та же)))

Какая, пустой лист?
PHP:
скопировать код в буфер обмена
  1. $parser=get_page_post($url,$postdata);
  2. echo $parser['content'];

Потом, тяжело понять по неполноценной функции(обрезанной), для чего $postdata?
Где передача данных для авторизации?
PHP:
скопировать код в буфер обмена
  1.  curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);

Как такая функция может работать физически?


-----
Чайник в PHP и SEO,http://fleshky[dot]ru
 
 Top
InviS
Отправлено: 19 Апреля, 2010 - 23:48:35
Post Id


Гость


Покинул форум
Сообщений всего: 107
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Вот то, что выдает результат: (для проверки)
Спойлер (Отобразить)

И выводит снова этот .
CODE (htmlphp):
скопировать код в буфер обмена
  1. 6 - Couldn't resolve host

Я не очень разбираюсь в cURL, поэтому может быть что-то не так написано. Исправьте, пожалуйста!
 
 Top
chaynyk
Отправлено: 20 Апреля, 2010 - 00:21:24
Post Id



Гость


Покинул форум
Сообщений всего: 118
Дата рег-ции: Сент. 2007  
Откуда: MOSCOW


Помог: 0 раз(а)




InviS пишет:

Я не очень разбираюсь в cURL, поэтому может быть что-то не так написано. Исправьте, пожалуйста!

Честно говоря нет там аккаунта, лень регится, да мне это и не надо.
Что до cURL-а, эта тема так уже измусолена. Рабочих примеров изряда вон.
Зайди на http://yahoo[dot]com набери cURL class php.
Найдешь кучу примеров, то чего нет, не в гугле и не в яше. Только шарь по английским.
Да и вообще, есть химзашита для авторизация от cURL-а, что никогда ни зайдешь.

(Отредактировано автором: 20 Апреля, 2010 - 00:25:38)



-----
Чайник в PHP и SEO,http://fleshky[dot]ru
 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB