Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> http post&get 
:(
    Опции темы
SkyA
Дата 26.7.2007, 16:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 17.7.2006

Репутация: нет
Всего: нет



Есть задача: Скрипт должен зайти на удалённый ссервер, залогинится в логин форме (Post) а потом после успешной авторизации на сервере пройти по нужной ссылке (Get). Что для этого нужно, если можно то на какомнибудь примере? smile 
PM MAIL   Вверх
SamDark
Дата 26.7.2007, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый кот
***


Профиль
Группа: Участник
Сообщений: 1424
Регистрация: 25.7.2006
Где: Voronezh

Репутация: нет
Всего: 38



SkyA, 
Форма и ссылка для перехода жёстко заданы или могут меняться?


--------------------
rmcreative.ru — Это жжж неспроста...
yiiframework.ru — О фреймворке Yii на русском.
reggi — здесь я регистрирую домены
PM MAIL WWW GTalk Jabber MSN   Вверх
SkyA
Дата 26.7.2007, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 17.7.2006

Репутация: нет
Всего: нет



форма и ссылки неизменны
PM MAIL   Вверх
Diesel Draft
Дата 26.7.2007, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 876
Регистрация: 18.1.2005
Где: Lviv, Ukraine

Репутация: нет
Всего: 5



почитай про Curl и на форуме много есть на эту тему кажется. При найми я точно знаю что видел здесь


--------------------
НЕДОМА в маси 
PM MAIL WWW ICQ GTalk   Вверх
jinn
Дата 26.7.2007, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 20.10.2006

Репутация: нет
Всего: нет



сначала передаешь постом параметры и следующим передаешь гет а как релизуешь через fsocksopen?
PM MAIL   Вверх
Diesel Draft
Дата 26.7.2007, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 876
Регистрация: 18.1.2005
Где: Lviv, Ukraine

Репутация: нет
Всего: 5



Зачем сокеты если можно на много проще 


--------------------
НЕДОМА в маси 
PM MAIL WWW ICQ GTalk   Вверх
Mal Hack
Дата 26.7.2007, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 5
Всего: 261



Diesel Draft, вот лично мне, тупому идиоту, работающему с PHP уже лет 6, скажите, а как это проще, но только чтоб везде работало...
PM ICQ   Вверх
SkyA
Дата 26.7.2007, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 17.7.2006

Репутация: нет
Всего: нет



курлом я пробовал но он вместо того чтоб зайти потом внутрь акка, выводит мне всё туже логинстраницу. Вот код:

Код

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"http://www.test.com/login.php");
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)'); 
curl_setopt($ch, CURLOPT_FAILONERROR, 1); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "username=test&password=test");
$result = curl_exec($ch);

curl_close($ch);
echo $result;

PM MAIL   Вверх
Diesel Draft
Дата 26.7.2007, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 876
Регистрация: 18.1.2005
Где: Lviv, Ukraine

Репутация: нет
Всего: 5



У меня только  5 лет smile
Сейчас почти у всех постеров, только не у бесплатных


--------------------
НЕДОМА в маси 
PM MAIL WWW ICQ GTalk   Вверх
SkyA
Дата 26.7.2007, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 59
Регистрация: 17.7.2006

Репутация: нет
Всего: нет



Подскажите а как увидеть страницу которую в результате отдаёт сервер, а то я нашел как ответ сервера получать, а как разультат хочу видеть что за страницу он выдал.

Код

$host = 'test.com';

$post_var = "x=433&y=332";

$tunnel=@fsockopen($host,80, $errno, $errstr, 60);
if ($tunnel!==false){
    
    $request = "POST /project/post.php HTTP/1.1\r\n";
    $request .= "Accept: */*\r\n";
    $request .= "Referer: http://".$host."/project/post.php\r\n";
    $request .= "Accept-Language: uk\r\n";
    $request .= "Content-Type: application/x-www-form-urlencoded\r\n";
    $request .= "Accept-Encoding: gzip, deflate\r\n";
    $request .= "User-Agent: ".$_SERVER["HTTP_USER_AGENT"]."\r\n";
    $request .= "Host: ".$host."\r\n";
    $request .= "Content-Length: ".strlen($post_var)."\r\n";
    $request .= "Connection: Keep-Alive\r\n";
    $request .= "Cache-Control: no-cache\r\n\r\n";

    $page='';
    $variant=0;
    fwrite($tunnel, $request);
    while(!feof($tunnel)){
        $page.=fgets($tunnel, 128);
    }
 

echo $page;


PM MAIL   Вверх
Golda
Дата 27.7.2007, 15:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 26.3.2007
Где: Ариель, Израиль

Репутация: нет
Всего: 42



В примере с CURL, я думаю, не хватает передачи cookies. Посмотрите сначала средствами броузера, что какие cookies ставит страница login.php или домашняя страница, с которой пользователя редиректят на login. Наверняка ставятся cookies, как минимум, идентификатор сессии. Кроме того, могут проверять наличие и правдоподобность referer, его тоже стоит передавать, ведь нормальный пользователь сначала попадет на ту же страницу GET-ом и referer у него будет. Также проверьте, не передаются ли в форму в обычной ситуации какие-нибудь hidden-fields. Все это может быть причиной отказа пропустить Вас дальше.

А страницу увидеть в Вашем втором примере просто. Вначале приходят заголовки, а затем тело страницы. Значит, выводите все, что найдете после первого двойного перевода строки.


--------------------
"For every problem, there exists a simple and elegant solution which is absolutely wrong." -- J. Wagoner, U.C.B. Mathematics
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Сеть | Следующая тема »


 




[ Время генерации скрипта: 0.0504 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.