Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Отправка данных через сокет
 
 автор: SportSoft   (11.09.2007 в 18:46)   письмо автору
 
 

Я отправляю данные POST через сокет. Причем использую для этого еще циклы, т.к. надо несколько раз отправить. В первый раз отправляется все нормально и результат нормальный, а второй раз просто выдает страницу заполнения формы.
Может кто сталкивался?
Страница сделана так, что если существует $_POST['action'], то выполняется проверка, иначе форма заполнения. Первый раз кидает на проверку, а когда второй раз - сервер отдает форму тока .. :(

   
 
 автор: tricket   (11.09.2007 в 18:57)   письмо автору
 
   для: SportSoft   (11.09.2007 в 18:46)
 

ну во первых нужно:
1)открыть соединения
2)отправить http пакет,
3)получить ответ,
4)закрыть соединение
4 действие точно сделал?! а вообще знаешь я всю жизнь хотел стать экстрасенсом, но не получилось блин... Так что извени, можно поподробнее, сорец(код) не помешал бы данного действия.

   
 
 автор: kasmanaft   (11.09.2007 в 19:05)   письмо автору
 
   для: SportSoft   (11.09.2007 в 18:46)
 

Ага.. Спамилку пишем?

   
 
 автор: tricket   (11.09.2007 в 19:13)   письмо автору
 
   для: kasmanaft   (11.09.2007 в 19:05)
 

неее тогда схема усложняется...и сильно
1)открыть соединения
2)подсоеденится к соксу
3)открыть в бинд
4)сформировать http пакет
5)привести его в вид понятный соксу
6)отправить http пакет,
7)получить ответ,
8)закрыть соединение

   
 
 автор: SportSoft   (11.09.2007 в 19:21)   письмо автору
 
   для: kasmanaft   (11.09.2007 в 19:05)
 

Страница: http://mobikat.net/?module=registration (wml)


// считаем, что мы определили SID и цифры с картинки ...
//вроде нигде не ошибся .
//$sid = некоторое значение из цифр и букв латиницы. достается из страницы.
//$i = определенное число с картинки ..
for($j=0; $j < 5; $j++)
{
$fp = fsockopen("mobikat.net", 80) or die("No connection");

$line = '';

$data = "password=Sport&email=".urlencode("admin".rand(1, 1000)."@sportsoft.org")."&group=1&url=".urlencode("http://sportsoft.org")."&name=SportSoft&about=SportSoft&action=SportSoft&sid=".urlencode($sid)."&code=".$i."\r\n\r\n";
$headers = "POST http://mobikat.net/?module=registration HTTP/1.1\r\n";
$headers .=  "Host: mobikat.net\r\n";
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
$headers .= "Content-Length: ".strlen($data)."\r\n\r\n";

fwrite($fp, $headers.$data);
while (!feof($fp))
{
    $line .= fgets($fp, 1024);
}
echo($line);
fclose($fp);
}

   
 
 автор: SportSoft   (11.09.2007 в 20:29)   письмо автору
 
   для: SportSoft   (11.09.2007 в 19:21)
 

Ниже я привел ответ сокета, который выводится в браузер
----
Число для сессии ngs7u506j - 1994 HTTP/1.1 200 OK Date: Tue, 11 Sep 2007 16:23:53 GMT Server: Apache/1.3.37 (Unix) Resin/3.0.9 mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 PHP/5.2.3 FrontPage/5.0.2.2635.SR1.2 mod_ssl/2.8.28 OpenSSL/0.9.8b X-Powered-By: PHP/5.2.3 Last-Modified: Tue, 11 Sep 2007 16:23:53 GMT Cache-Control: no-cache, must-relative Connection: close Transfer-Encoding: chunked Content-Type: text/vnd.wap.wml; charset=utf-8 3de 

Ваша регистрация принята. Сайт появится в каталоге после первых 2 переходов.
Ваши данные:
Ссылка на сайт: http://mobikat.net/in.php?id=151
ID: 151
Парoль: Sport
Категория: Эротика & XXX
URL сайта: http://sportsoft.org
Название: SportSoft
O cайте: SportSoft
---
Панель управления
MobiKat.Net
[3.011] 


Число для сессии 5ix8ilf14 - 1577 

HTTP/1.1 200 OK Date: Tue, 11 Sep 2007 16:25:45 GMT Server: Apache/1.3.37 (Unix) Resin/3.0.9 mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 PHP/5.2.3 FrontPage/5.0.2.2635.SR1.2 mod_ssl/2.8.28 OpenSSL/0.9.8b X-Powered-By: PHP/5.2.3 Last-Modified: Tue, 11 Sep 2007 16:25:46 GMT Cache-Control: no-cache, must-relative Connection: close Transfer-Encoding: chunked Content-Type: text/vnd.wap.wml; charset=utf-8 729 

Пароль:

E-mail:

Категория

URL сайта:

Название:

О сайте:


Введите код с картинки:

Зарегистрироваться 
---
MobiKat.Net
[0.054] 


Число для сессии 9m5qqk68w - 1448 

HTTP/1.1 200 OK Date: Tue, 11 Sep 2007 16:27:39 GMT Server: Apache/1.3.37 (Unix) Resin/3.0.9 mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 PHP/5.2.3 FrontPage/5.0.2.2635.SR1.2 mod_ssl/2.8.28 OpenSSL/0.9.8b X-Powered-By: PHP/5.2.3 Last-Modified: Tue, 11 Sep 2007 16:27:39 GMT Cache-Control: no-cache, must-relative Connection: close Transfer-Encoding: chunked Content-Type: text/vnd.wap.wml; charset=utf-8 729 

Пароль:

E-mail:

Категория

URL сайта:

Название:

О сайте:


Введите код с картинки:

Зарегистрироваться 
---
MobiKat.Net
[0.006] 
0

   
 
 автор: SportSoft   (11.09.2007 в 20:31)   письмо автору
 
   для: SportSoft   (11.09.2007 в 20:29)
 

> Число для сессии ngs7u506j - 1994
Это я сам вставлял перед каждым выводом. Остальное ответ.

   
 
 автор: SportSoft   (11.09.2007 в 19:25)   письмо автору
 
   для: kasmanaft   (11.09.2007 в 19:05)
 

Да, первый раз пишу. Помогите чем можете. Поверьте, очень надо.

   
 
 автор: tricket   (11.09.2007 в 19:49)   письмо автору
 
   для: SportSoft   (11.09.2007 в 19:25)
 

блин wap...
у меня ща времени нету ставить плагин вапа... и анализировать пакеты, дам лишь совет
найди прогу в нете Http Analyzer очень хороший снифер http пакетов(хз, но вап поидее тоже снифать должен).
А дальше проснифанные пакеты сравнивай с echo headers.$data;
Думаю ошибка обнаружится...
ещё б неплохо после fclose($fp); поставить sleep(2); к примеру...

   
 
 автор: kasmanaft   (11.09.2007 в 19:59)   письмо автору
 
   для: tricket   (11.09.2007 в 19:49)
 

Аха, прямо-таки пакеты?))
Опера умеет с вапом работать, можно без плагинов обойтись. Ну и вообще-то "пакеты" там такие же, судя по всему.

   
 
 автор: куч1963   (11.09.2007 в 20:44)   письмо автору
 
   для: kasmanaft   (11.09.2007 в 19:59)
 

посмотри, может куки шлет, или попробуй сначала через GET зайти на страницу с формой, а затем передать данные методом POST

   
 
 автор: SportSoft   (11.09.2007 в 20:50)   письмо автору
 
   для: куч1963   (11.09.2007 в 20:44)
 

Сочувствую, если не видишь.=) Смотри внимательнее код, где открывается соединение .

   
 
 автор: куч1963   (11.09.2007 в 21:06)   письмо автору
 
   для: SportSoft   (11.09.2007 в 20:50)
 

да я заметил))
по ответам видно, что не проходят твои данные в срипт обработчик формы. Попробуй варианты с Referer, User-Agent

   
 
 автор: SportSoft   (11.09.2007 в 21:49)   письмо автору
 
   для: куч1963   (11.09.2007 в 21:06)
 

Da vot i mne kazhetsya, chto dannye server2 ne poluchaet. No toka so vtorogo raza.

   
 
 автор: tricket   (11.09.2007 в 20:52)   письмо автору
 
   для: kasmanaft   (11.09.2007 в 19:59)
 

2 kasmanaft
что смешного?
2 SportSoft
блин лень прогу найти?) там за 5 сек сравни заголовки пакетов и не мучайся!

   
 
 автор: SportSoft   (11.09.2007 в 21:18)   письмо автору
 
   для: tricket   (11.09.2007 в 20:52)
 

да она по лицензии распространяется, я уже посмотрел. :)

   
 
 автор: tricket   (11.09.2007 в 22:22)   письмо автору
 
   для: SportSoft   (11.09.2007 в 21:18)
 

о да варезники в россии строга запрещены!!

   
 
 автор: Sportsoft   (12.09.2007 в 19:35)   письмо автору
 
   для: tricket   (11.09.2007 в 22:22)
 

Все, написал. Что-то где-то поправил и получилось. Все работает. =))

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования