[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Отправка формы с переменной и получение ответа
Страницы: 1, 2, 3
nfssfn
Цитата (Xes @ 27.12.2012 - 17:21)
<?php
error_reporting(E_ALL);
$url = 'https://world.needforspeed.com/login'; // Куда зайти
$urlTo = 'https://world.needforspeed.com/nfsw_web_security_check'; // Куда данные послать
$login = 'xes'; // Логин
$pass = '123'; // Пароль
$post = 'j_username=' . $login . '&j_password=' . $pass; // POST данные
$ch = curl_init(); // Инициализация сеанса
curl_setopt($ch, CURLOPT_NOBODY, false); //подобные штуки
curl_setopt($ch, CURLOPT_HEADER, true); //подобные штуки
curl_setopt($ch, CURLOPT_URL, $url); // Заходим на сайт
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // Приказываем вернуть страницу в переменную
$html = curl_exec($ch); // Забираем страницу
curl_close($ch); // Завершаем сеанс
//echo $html;

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $urlTo); // Куда шлем POST данные
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); // Записываем cookie
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt'); // Читаем cookies
curl_setopt($ch, CURLOPT_POST, true); // Указываем метод отправки
curl_setopt($ch, CURLOPT_NOBODY, false); //подобные штуки
curl_setopt($ch, CURLOPT_HEADER, true); //подобные штуки
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); // POST данные
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // Говорим скрипту, чтобы он следовал за редиректами которые происходят во время авторизации

$html = curl_exec($ch); // Забираем страницу
curl_close($ch); // Завершаем сеанс
echo $html; // Оказываемся залогинены

?>

Вот скрипт у меня контент выводит пароли свои попробуй которые там зарегины. У меня еще вероятно какая то защита срабатывает, либо просто из за того что я там незарегин вылазиет какоето окно нехорошее.

Очень долго парился с решением проблемы.
Оказывается, чтобы все работало как надо, необходимо было лишь вместо
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

написать
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

Просто тогда при
$html = curl_exec($ch);

выводилась страница, а сам код не вписывался в переменную.

Сейчас все работает отменно!

ВСЕМ СПАСИБО! Всех сердечно благодарю!! Всех с наступающими праздниками =)
killer8080
Цитата (nfssfn @ 27.12.2012 - 18:03)
1) С хостингом все нормально

На хостинге есть ограничения на которые явно указала ошибка, можешь сам проверить в phpinfo()
Цитата (nfssfn @ 27.12.2012 - 18:03)
2) file_get_contents не работает с https так, как мне нужно и я не знаю как с ним поставить правильный запрос..

всё там прекрасно работает. wink.gif

Цитата (nfssfn @ 27.12.2012 - 20:01)
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
написать
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

вообще то это одно и то же, проблема точно была не в этом, а в ограничениях безопасности.
nfssfn
Цитата (killer8080 @ 28.12.2012 - 01:31)
Цитата (nfssfn @ 27.12.2012 - 20:01)
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
написать
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

вообще то это одно и то же, проблема точно была не в этом, а в ограничениях безопасности.

Ну, скажу так, после того как я поставил 1, у меня страница сразу в браузер перестала выводиться и передавалась в переменную.
killer8080
Цитата (nfssfn @ 28.12.2012 - 07:01)
Ну, скажу так, после того как я поставил 1, у меня страница сразу в браузер перестала выводиться и передавалась в переменную.

Наверно параллельно изменил что то еще, просто забыл, или не обратил на это внимание
Цитата (nfssfn @ 27.12.2012 - 20:01)
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // Говорим скрипту, чтобы он следовал за редиректами которые происходят во время авторизации

вот с этой строчкой у тебе работать не должно, сам же показывал ошибку
Цитата (nfssfn @ 27.12.2012 - 13:47)
Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when safe_mode is enabled or an open_basedir is set in /home/u466279783/public_html/index.php on line 91

если только не сменил хостера, или не были изменены настройки в php.ini
Ну ладно заработало так заработало smile.gif
С наступающим.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.