<MyRusakov.ru />

Профессия Web-разработчик

Профессия Web-разработчик

Этот комплект за 8 месяцев превратит Вас в Web-разработчика с нуля. Учиться достаточно 1 час в день.

Начнёте Вы с HTML, CSS и вёрстки сайтов. Потом перейдёте к программированию и JavaScript. Затем изучите PHP, MySQL, SQL, Python. Изучите Web-фреймворки Laravel и Django. Создадите 5 своих сайтов для портфолио.

Комплект содержит:

- 540 видеоуроков

- 110 часов видео

- 1205 заданий для закрепления материала из уроков

- 5 финальных тестов

- 7 сертификатов

- 12 Бонусных курсов

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Форум сайта MyRusakov.ru

Получение данных страницы по URL
19.10.2011 06:48:43 Получение данных страницы по URL Сообщение #1
drasute

drasute

Новичок

Новичок

Дата регистрации:
28.05.2011 12:55:52

Сообщений: 3

Привет.

Можно ли как-нибудь получить данные страницы по известному URL, причем эта страница доступна только зарегистрированным пользователям.

Скажите хотя бы примерную идею этого скрипта, а то ничего в голову не приходит.
Профиль
19.10.2011 10:24:27 Получение данных страницы по URL Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Здесь требуется cURL. Первым делом, Вы отправляете запрос на авторизацию (для этого необходимо узнать, какие поля у формы авторизации). Далее принимаете cookie от сервера. Сохраняете их в cURL и делаете запрос к требуемой странице. Уже должно вернуться содержимое, которое доступно только для авторизованного пользователя.
Профиль
19.10.2011 13:53:54 Получение данных страницы по URL Сообщение #3
drasute

drasute

Новичок

Новичок

Дата регистрации:
28.05.2011 12:55:52

Сообщений: 3

Спасибо, Михаил, буду разбираться)
Профиль
27.10.2011 23:13:13 Получение данных страницы по URL Сообщение #4
bposter

bposter

Новичок

Новичок

Дата регистрации:
27.10.2011 19:47:47

Сообщений: 7

Я так понимаю в данном случаи надо отправлять 3 параметра с данными на вход это submit,username,password ?


if($_POST['submit']=='Войти')
{
// Проверяем, что представлена форма Войти

$err = array();
// Запоминаем ошибки


if(!$_POST['username'] || !$_POST['password'])
$err[] = 'Все поля должны быть заполнены!';

if(!count($err))
{
$_POST['username'] = mysql_real_escape_string($_POST['username']);
$_POST['password'] = mysql_real_escape_string($_POST['password']);
$_POST['rememberMe'] = (int)$_POST['rememberMe'];

// Получаем все ввденые данные

$row = mysql_fetch_assoc(mysql_query("SELECT id,usr FROM tz_members WHERE usr='{$_POST['username']}' AND pass='".md5($_POST['password'])."'");

if($row['usr'])
{
// Если все в порядке - входим в систему

$_SESSION['usr']=$row['usr'];
$_SESSION['id'] = $row['id'];
$_SESSION['rememberMe'] = $_POST['rememberMe'];

// Сохраняем некоторые данные сессии

setcookie('tzRemember',$_POST['rememberMe']);
}
else $err[]='Не верный пароль или имя пользователя!';
}

if($err)
$_SESSION['msg']['login-err'] = implode('<br />',$err);
// Сохраняем сообщение об ошибке сессии

header("Location: ../index.php";
exit;


Тоесть код на вход должен выглядеть так:

<?php
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, 'http://*****.ru');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, "submit=Войти&username=bposter&password=254353425";
$out = curl_exec($curl);
echo $out;
curl_close($curl);
}
?>


Если все правильно то как получить куку чтоб зайти уже на другую страницу для авторизованых?
Профиль
27.10.2011 23:16:26 Получение данных страницы по URL Сообщение #5
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Правильно это или нет - неизвестно, поскольку здесь нужно видеть форму авторизации, а также названия полей в форме. Что касается получения, cookie, то она находится в $out, но нужно включить возврат заголовков. Вы выведите эту $out в браузере, и там должны вначале идти заголовки сервера, вот среди них и должны быть cookie. Далее эти cookie аккуратно вырезаете из других заголовок с помощью строковых функций. Затем подставляете cookie в параметры соединения cURL и соединяетесь со страницей, где контент для авторизованного пользователя.
Профиль
27.10.2011 23:20:09 Получение данных страницы по URL Сообщение #6
bposter

bposter

Новичок

Новичок

Дата регистрации:
27.10.2011 19:47:47

Сообщений: 7

Ясно спасибо.. вобщем это не для начинающих надо еще учить php глубже а потом разбирать данный пример.
Профиль
27.10.2011 23:26:27 Получение данных страницы по URL Сообщение #7
bposter

bposter

Новичок

Новичок

Дата регистрации:
27.10.2011 19:47:47

Сообщений: 7

А по идеи такой код


<?php
if( $curl = curl_init() ) {
curl_setopt($curl, CURLOPT_URL, 'http://*****.ru');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_POSTFIELDS, "submit=Войти&username=bposter&password=254353425";
$out = curl_exec($curl);
echo $out;
curl_close($curl);
}
?>


по идеи всли заведомо я знаю параметры формы и правильно все написал то ответ хоть какойто должен прийти? ато уменя белый экран...
Профиль
27.10.2011 23:41:23 Получение данных страницы по URL Сообщение #8
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Если белый экран, то, значит, сервер так обрабатывает. Если бы данные были бы верные, то сервер вернул бы то, как будто если бы Вы заполняли форму вручную.
Профиль
27.10.2011 23:44:53 Получение данных страницы по URL Сообщение #9
bposter

bposter

Новичок

Новичок

Дата регистрации:
27.10.2011 19:47:47

Сообщений: 7

Дело в том что сайт на котором я эксперементирую мой поэтому я точно знаю все поля в форме и что надо передавать методом POST в обработчик, и по идеи после правильного ввода он должен как минимум выдать хоть чтота а как максимум перенаправить на страницу профиля. Поэтому и странно что ответа вообще нету некакого.
Профиль
27.10.2011 23:48:24 Получение данных страницы по URL Сообщение #10
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Возможно, Вы задали неверный URL. Вы в примере пишите явно главную страницу, а в action у формы авторизации может стоять далеко не главная страница.
Профиль