Как отправить сообщение на ICQ используя PHP

Автор статьи: Дмитрий Бородин ©
Сайт Автора: wmastak.net
E-mail Автора: нет
Дата публикации: 16.09.2005

 Можно легко переделать программу отправки сообщений на пейджер (например через page.gate.ru), SMS и другое. При умении анализировать ответ сервера, можно вырезать анекдоты c anecdot.ru или курс доллара с rbc.ru.В статье приведен лишь необходимый минимум для решения поставленной перед нами задачи - отправления сообщений на ICQ:

сформировать запрос из разных полей;
открыть сокет;
записать запрос;

<?php
flush();

// нужно заполнить поля
$from='Dmitry Borodin';
$fromemail='ваш[email protected]';
$subject='Тема сообщения';
$to='00000000'; // <-- номер. (Уверен, что кто-нибудь не догадается прописать :)
$body='само сообщение';

$submit='Send Message'; // НЕ РЕДАКТИРОВАТЬ
$ref="http://wwp.icq.com/$to"; // НЕ РЕДАКТИРОВАТЬ

// формирование заголовка
$PostData= 
"from=".urlencode($from)."&". 
"fromemail=".urlencode($frommail)."&". 
"subject=".urlencode($subject)."&". 
"body=".urlencode($body)."&". 
"to=".urlencode($to)."&". 
"submit=".urlencode($submit); 

$len=strlen($PostData); 


$nn="
"; 
$zapros= 
"POST /scripts/WWPMsg.dll HTTP/1.0".$nn. 
"Referer: $ref".$nn. 
"Content-Type: application/x-www-form-urlencoded".$nn. 
"Content-Length: $len".$nn. 
"Host: wwp.icq.com".$nn. 
"Accept: */*".$nn. 
"Accept-Encoding: gzip, deflate".$nn. 
"Connection: Keep-Alive";.$nn. 
"User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT)".$nn. 
"".$nn. 
"$PostData";

echo $zapros." ------------- "; 
flush(); 

// открываем сокет и шлем заголовок 
$fp = fsockopen("wwp.icq.com", 80, &$errno, &$errstr, 30); 
if(!$fp) { print "$errstr ($errno)<br> "; exit; } 

// для наглядности выводим заголовок ответа и страницу на экран 
fputs($fp,$zapros); 
print fgets($fp,20048); 
fclose($fp); 
?>

Использованы материалы:
http://wmastak.net