Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2014, 17:23   #1
MedwedoS
Пользователь
 
Аватар для MedwedoS
 
Регистрация: 24.02.2014
Сообщений: 72
По умолчанию Авторизация и скачка файла

Очень нужна помощь, т.к. не могу додуматься как реализовать следующее:

Есть сайт и на его странице каждый день генерируется файл который нужно скачивать, я хочу автоматизировать это дело.

Все выглядит так: захожу на сайт, авторизуюсь (ввожу логин и пароль) перехожу на ссылку вида: http://site.ru/download.html и мне вываливается файл, нажимаю сохранить, все.

Как реализовать это PHP скриптом?
Этот скрипт я поставлю на Cron сервера.
MedwedoS вне форума Ответить с цитированием
Старый 30.10.2014, 18:28   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

И в чем проблема?
What have you tried?
curl смотрите.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 31.10.2014, 10:32   #3
MedwedoS
Пользователь
 
Аватар для MedwedoS
 
Регистрация: 24.02.2014
Сообщений: 72
Восклицание

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
И в чем проблема?
What have you tried?
curl смотрите.
Точняк.
А может curl сымитировать нажатие кнопки? (т.е. нажать кнопку "Вход", что бы страница отправила введенные в поля "Логин" и "Пароль" сама?
ибо есть проблемка, при авторизации со страницы помимо Login \ Password на сервер уходит еще данные (которые генерируются каким то непонятным образом при загрузке этой страницы)

Вот что я смониторил (что отправляется при нажатии кнопки "Вход":


Код HTML:
loginKey:545325eb6baaa (непонятно что и как генерируется)
loginStr:dbff1895116146f9c5a0d6dfa537c040 (наверное пароль, не md5, т.к. не сходится)
login:мой@емейл
save:1 (вкл или выкл запомининаие входа)
MedwedoS вне форума Ответить с цитированием
Старый 31.10.2014, 10:39   #4
MedwedoS
Пользователь
 
Аватар для MedwedoS
 
Регистрация: 24.02.2014
Сообщений: 72
По умолчанию

По поводу данных которые передаются:
LoginKey: 545325eb6baaa
я спарсил, это куки, только вот как они генерятся непонятно...
TEST_COOKIE
545325eb6baaa
MedwedoS вне форума Ответить с цитированием
Старый 31.10.2014, 10:59   #5
MedwedoS
Пользователь
 
Аватар для MedwedoS
 
Регистрация: 24.02.2014
Сообщений: 72
По умолчанию

И собсна вот что я понял:
Вот как выглядит страница авторизации для только что зашедшего юзера

Код HTML:
<input name="loginKey" value="545340698d22e" type="hidden" />
<input name="loginStr" value="" type="hidden" />
<p><label for="login">Логин</label><br/>
<input name="login" value="мой@емейл.ru" id="login" tabindex="1" />
</p><p><label for="password">Пароль</label><br/>
<input id="password" type="password" value="" tabindex="2" />
</p>
Значение инпута loginKey берется из .js (я в нем не шарю, но его открыл)
Инпут loginStr пустой (позже в него вставляется пароль на ходу пропущенный через md5 ява скриптом)

Вот этот MD5 шифратор:
Код HTML:
<script type="text/javascript">window.jQuery(function($){
	$('#loginForm').submit( function() {
		this.elements['loginStr'].value = MD5(MD5($('#password').val()) + this.elements['loginKey'].value);
		$('#password').value = '';
	} );</script>
Как понятно из скрипта, берется пароль и шифруется, потом к MD5 пароля добавляем этот самый LoginKey и опять шифруем, получаем LoginStr.

Жесть.

Вопрос такой: что мне дальше делать?, подскажите
С чего начать и как объяснить CURL'у правила авторизации?

Последний раз редактировалось MedwedoS; 31.10.2014 в 11:13.
MedwedoS вне форума Ответить с цитированием
Старый 31.10.2014, 15:16   #6
MedwedoS
Пользователь
 
Аватар для MedwedoS
 
Регистрация: 24.02.2014
Сообщений: 72
По умолчанию

Вот что у меня получилось, работает, но не полность, форма авторизации не дает авторизироваться и говорит что "Куки должны быть включены...!!"

PHP код:
//$on='http://site.ru/SdfPerm/User/login.html';
$login='email@mail.ru';
$pass='150';

// HTTP authentication  
$url "https://site.ru/login/";  
$ch curl_init();      
curl_setopt($chCURLOPT_RETURNTRANSFER1);   
curl_setopt($chCURLOPT_URL$url);   
curl_setopt($chCURLOPT_POST1);
curl_setopt($chCURLOPT_POSTFIELDS,"login=".$login."&password=".$pass);
//сохранение кукизов 
curl_setopt($chCURLOPT_RETURNTRANSFERTRUE); 
curl_setopt($chCURLOPT_COOKIEJAR,'cookie.txt'); 
curl_setopt($chCURLOPT_COOKIEFILE"cookie.txt"); 
curl_setopt($chCURLOPT_HEADERTRUE); 

if(
$ref!=''curl_setopt($chCURLOPT_REFERER$ref); 

if(
$cookie!=''curl_setopt($chCURLOPT_COOKIE$cookie); 
// прописывание броузера 
curl_setopt($chCURLOPT_USERAGENT'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)'); 

$result curl_exec($ch);   
curl_close($ch);   
echo 
$result
Ребят где ошибка?
MedwedoS вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Synapse, скачка файла с отображением в ProgressBar Winexcel Общие вопросы Delphi 1 12.10.2013 17:39
(VBS) Авторизация и скачивание файла GrabbeR JavaScript, Ajax 0 22.12.2011 22:39
скачка файлов Shift_sk Помощь студентам 0 17.03.2011 23:44
скачка фаила dr.fauster Общие вопросы Delphi 9 17.06.2010 13:54
скачка и докачка файла krok PHP 5 31.10.2009 22:22