ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

PHP сокеты
  #1  
Старый 08.08.2009, 20:05
Аватар для Krist_ALL
Krist_ALL
Banned
Регистрация: 14.01.2009
Сообщений: 515
Провел на форуме:
1996429

Репутация: 468


Отправить сообщение для Krist_ALL с помощью ICQ
По умолчанию PHP сокеты

Доброго времени суток.
Опять я эти сокеты не понимаю, и прошу помощи.
План:
я посылаю пакет
принимаю ответ
-дальше проблемы-
я опять посылаю пакет
я принимаю ответ
...
...
...
Первый раз запись/чтение норм,а потом не получаю ответа. Набрасайте скрипт..Плз) порт 80 и эт не джаббер и ответ всегда 1.
 
Ответить с цитированием

  #2  
Старый 08.08.2009, 20:09
Аватар для Kaimi
Kaimi
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме:
18127311

Репутация: 1676


Отправить сообщение для Kaimi с помощью ICQ
По умолчанию

Сокет закрывать-открывать после отправки не забываешь?
 
Ответить с цитированием

  #3  
Старый 08.08.2009, 20:15
Аватар для Krist_ALL
Krist_ALL
Banned
Регистрация: 14.01.2009
Сообщений: 515
Провел на форуме:
1996429

Репутация: 468


Отправить сообщение для Krist_ALL с помощью ICQ
По умолчанию

Забываю... А нада?Разьве на каждый пакет надо новый сокет?Вроде нет.
 
Ответить с цитированием

  #4  
Старый 08.08.2009, 20:24
Аватар для Kaimi
Kaimi
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме:
18127311

Репутация: 1676


Отправить сообщение для Kaimi с помощью ICQ
По умолчанию

Да надо, либо используй сокеты низкого уровня и переводи в неблокирующий режим
 
Ответить с цитированием

  #5  
Старый 08.08.2009, 20:26
Аватар для ElteRUS
ElteRUS
Постоянный
Регистрация: 11.10.2007
Сообщений: 406
Провел на форуме:
7215020

Репутация: 1423
По умолчанию

PHP код:
$header "GET http://rambler.ru/ HTTP/1.0\r\n";
$header .= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\r\n";
$header .= "Accept-Language: uk\r\n";
$header .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\r\n";
$header .= "Host: www.rambler.ru\r\n";
$header .= "Proxy-Connection: Keep-Alive\r\n\r\n";

$sckt fsockopen("www.rambler.ru",80);
fputs($sckt,$header);

while(!
feof($sckt))
{
$serv_answer fgets($sckt,2048);

if(
$s strstr($serv_answer,"ruid="))    // извлекаем переменную ruid из заголовка Set-Cookie ответа сервера
{
$ruid substr($s,5,24);
}
}

fclose($sckt);

//авторизируемся

$auth_data "domain=rambler.ru&url=7&login=".$login."&passw=".$password;
$auth_data_len strlen($auth_data);

$header "POST http://mail.rambler.ru/script/auth.cgi HTTP/1.0\r\n";
$header .= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\r\n";
$header .= "Referer: http://www.rambler.ru/\r\n";
$header .= "Accept-Language: uk\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Proxy-Connection: Keep-Alive\r\n";
$header .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\r\n";
$header .= "Host: mail.rambler.ru\r\n";
$header .= "Content-Length: ".$auth_data_len."\r\n";
$header .= "Pragma: no-cache\r\n";
$header .= "Cookie: ruid=".$ruid."\r\n\r\n";
$header .= $auth_data;

$sckt fsockopen("mail.rambler.ru",80);
fputs($sckt,$header);

while(!
feof($sckt))
{
$serv_answer fgets($sckt,2048);

if(
$s strstr($serv_answer,"rsid="))           // извлекаем переменную rsid из заголовка Set-Cookie ответа сервера
{
$rsid substr($s,5,32);
}

if(
$s strstr($serv_answer,"rup="))           // извлекаем переменную rup из заголовка Set-Cookie ответа сервера
{
$rup substr($s,4,24);
}

if(
$s strstr($serv_answer,"startpage%3F")) // извлекаем урл редиректа из заголовка Location ответа сервера
{
$startpage substr($s,12,4);
}
}

fclose($sckt); 
1 сформировали пакет
2 открыли сокет
3 отправили пакет
4 получили ответ, отпарсили необходимую инфу
5 закрыли сокет
6 вернулись в пункт 1. И так по циклу сколько хочешь
 
Ответить с цитированием

  #6  
Старый 08.08.2009, 20:42
Аватар для mr.The
mr.The
Познавший АНТИЧАТ
Регистрация: 30.04.2007
Сообщений: 1,206
Провел на форуме:
4778940

Репутация: 1257


Отправить сообщение для mr.The с помощью ICQ
По умолчанию

тс, тебе нужно тупо получить страницу? тогда вот - http://mrthe.name/2009/03/sockets-php/

а вообще советую юзать курл.
 
Ответить с цитированием

  #7  
Старый 08.08.2009, 20:54
Аватар для Krist_ALL
Krist_ALL
Banned
Регистрация: 14.01.2009
Сообщений: 515
Провел на форуме:
1996429

Репутация: 468


Отправить сообщение для Krist_ALL с помощью ICQ
По умолчанию

Всем большое спасибо.
 
Ответить с цитированием

  #8  
Старый 11.08.2009, 13:11
Аватар для Krist_ALL
Krist_ALL
Banned
Регистрация: 14.01.2009
Сообщений: 515
Провел на форуме:
1996429

Репутация: 468


Отправить сообщение для Krist_ALL с помощью ICQ
По умолчанию

Решил не создавать новую тему..
Подскажите самый простой Http запрос .
измучился уже.
Взял пример из википедии:
Цитата:
GET / HTTP/1.1
Host: mail.ru
User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5
Accept: text/html
Connection: close
обращаюсь и пишет бэд реквест.

я хз )
 
Ответить с цитированием

  #9  
Старый 11.08.2009, 13:12
Аватар для Kaimi
Kaimi
Reservists Of Antichat - Level 6
Регистрация: 23.08.2007
Сообщений: 1,237
Провел на форуме:
18127311

Репутация: 1676


Отправить сообщение для Kaimi с помощью ICQ
По умолчанию

Покажи код
 
Ответить с цитированием

  #10  
Старый 11.08.2009, 13:36
Аватар для Krist_ALL
Krist_ALL
Banned
Регистрация: 14.01.2009
Сообщений: 515
Провел на форуме:
1996429

Репутация: 468


Отправить сообщение для Krist_ALL с помощью ICQ
По умолчанию

PHP код:
$header "GET / HTTP/1.1\r\n";  
$header .= "Host: $server\r\n"
$header .= "Accept: text/html\r\n";
$header .= "Connection: close\r\n";
$sckt fsockopen("$server",80); 
fputs($sckt,$header); 

while(!
feof($sckt)) 

$serv_answer fgets($sckt,2048); 

echo 
$serv_answer.'<br><br>';


fclose($sckt); 
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Books PHP FRAGNATIC PHP, PERL, MySQL, JavaScript 186 21.02.2010 02:41
Books PSalm69 Избранное 248 27.10.2009 04:52
На PHP, как на "Новые ворота"... Mertvii-Listopad Чужие Статьи 7 18.09.2006 12:42
Безопасность в Php, Часть Iii k00p3r Чужие Статьи 0 11.07.2005 19:02
Защищаем Php. Шаг за шагом. k00p3r Чужие Статьи 0 13.06.2005 11:31



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ