Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Сообщение на ICQ


Автор: Opr 19.3.2005, 05:13
Можно легко переделать в программу отправки сообщений на пейджер (например через page.gate.ru), SMS и другое. При умении анализировать ответ сервера, можно выредать анекдоты c anecdot.ru или курс доллара с rbc.ru. Здесь лишь минимум для задачи: 
сформировать запрос из разных полей 
открыть сокет 
записать запрос
Код

flush();

// поля надо заполнить
$from='Dmitry Borodin';
$fromemail='ваше_мыло@php.spb.ru';
$subject='сабж';
$to='00000000'; // <-- номер. (Уверен, что кто-нить не догадается :-)
$body='само сообщение';

$submit='Send Message'; // don't edit
$ref="http://wwp.icq.com/$to"; // don't edit


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

$len=strlen($PostData);

$nn="\r\n";
$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."\n\n-------------\n\n\n";
flush();

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


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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)