ICQ ゲートウェイを介して携帯電話のテキスト メッセージを送信するための PHP ソース プログラム
(linuxforum.net の原著者: liushiliang EMAIL: lsl@163.net から転載)
//########### ### ###########################################
//
// ご質問とコメントは
// Roland (alias -=: Vlieg :=-)
// icq #78354631
// mail: vlieg@atoomnet.net
//
// 注意: このスクリプトは機能しません安全なモードのため、無料のホスティング ページでは使用できます!
// 注意: このスクリプトが機能するには、http://web.icq.com/sms/login/ で ICQ# を登録する必要があります
//## # ################################################ # #####
//************************************************* **************//Config:
$uin=""; //ICQ 番号
$passw="" //ICQ パスワード
$prefix= "; "; //sms prefix
$phonenumber=""; //sms 電話番号
$message = "Hello!"; //sms メッセージ
//************************************************* **************// JA: コンテンツの長さを計算する
$contentlength= ( 37+
strlen($uin)+
strlen($passw)
);
//************************************************* **************// ログインページを開きます
// JA: ログインページを開きます
$ htmlreply="";
$post ="POST http://web.icq.com/karma/dologin/1,,,00.html HTTP/1.0
受け入れる: image/gif, image/x-xbitmap, image / jpeg、image/pjpeg、application/vnd.ms-powerpoint、application/vnd.ms-excel、application/msword、*/*
参照元: http://web.icq.com/sms/login/1,, , 00.html
Accept-Language: nl
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip、deflate
User-Agent: Mozilla/4.0 (互換性; MSIE 5.0; Windows 98; DigExt )
ホスト: web.icq.com
Content-Length: ".$contentlength."
Proxy-Connection: Keep-Alive
Pragma: no-cache
Cookie: uin=".$uin.". $ prefix."; KarmaService1=Yes; uin=".$uin."; sms_country=".$prefix."; KarmaService1=Yes
uService=1&uLogin=".$uin."&uPassword=".$passw." &x =0&y=0";
$remote = fsockopen("web.icq.com", 80, &$errno, &$errstr, 30);
global $remote;
global $post;
fputs($remote , $post);
while (!feof($remote)) { $htmlreply.=fgets($remote,120); }
//出力に対するコメント解除: echo "".htmlspecialchars($htmlreply)."" ;
fclose($remote);
//************************************************* **************//persoonlijke cookie uit de inlogpage halen
// JA: ログイン ページから個人 Cookie を取得します
$splited = split("n",$htmlreply ) ;
$cookies = $splited[3];
$cookies = str_replace("Set-Cookie: KarmaLogin=","",$cookies);
$cookies = str_replace("; path=","", $cookies );
$cookies = str_replace("n","",$cookies);
//出力をコメント解除: echo $cookies;
if (strlen($prefix) == 2) { $contentprefix = ' '。 $prefix; } else { $contentprefix = $prefix;
$charcount = (160-strlen($message));
$contentlength= ( 1561+
strlen($message)+
strlen($charcount)+
strlen($phonenumber)+
strlen($prefix)
) ;
//************************************************* **************//Verzendpagina openenmet de opgehaalde cookie
// JA: 取得した cookie で送信ページを開きます
$htmlreply="";
$post ='POST http://web. icq.com/sms/send_history/1,,,00.html HTTP/1.0
受け入れる: image/gif、image/x-xbitmap、image/jpeg、image/pjpeg、application/vnd.ms-powerpoint、application/vnd .ms-excel、application/msword、*/*
リファラー: http://web.icq.com/sms/send_session/1,,,00.html?prefix=+'.$prefix.'&carrier=&tophone= '.$phonenumber.'
Accept-Language: nl
Content-Type: multipart/form-data;境界=--------------------------7d12442eab4
Accept-Encoding: gzip、deflate
User-Agent: Mozilla/4.0 (互換性; MSIE) 5.0; Windows 98; DigExt)
ホスト: web.icq.com
Content-Length: '.$contentlength.'
プロキシ接続: Keep-Alive
Pragma: no-cache
Cookie: uin='.$uin. '; sms_country='.$prefix.'; KarmaService1=はい。 KarmaLogin='.$cookies.'; uin='.$uin.'; sms_country='.$prefix.'; KarmaService1=はい。 KarmaLogin='.$cookies.'
----------------------------7d12442eab4
Content-Disposition: form-data; name="キャリア"
----------------------------7d12442eab4
Content-Disposition: form-data; name="prefix"
'.$contentprefix.'
----------------------------7d12442eab4
Content-Disposition: form -データ; name="tophone"
'.$phonenumber.'
----------------------------7d12442eab4
Content-Disposition: form -データ; name="uSession"
1
----------------------------7d12442eab4
Content-Disposition: form-data; name="uReply"
----------------------------7d12442eab4
Content-Disposition: form-data; name="uLastId"
----------------------------7d12442eab4
Content-Disposition: form-data; name="uSend"
1
----------------------------7d12442eab4
Content-Disposition: form-data; name="uNextId"
----------------------------7d12442eab4
Content-Disposition: form-data; name="uHistoryCounter"
1
----------------------------7d12442eab4
Content-Disposition: form-data; name="count"
0
----------------------------7d12442eab4
Content-Disposition: form-data; name="uSubmitCount"
0
----------------------------7d12442eab4
Content-Disposition: form-data; name="checkNewMsg"
180000
----------------------------7d12442eab4
Content-Disposition: form-data; name="charcount"
'.$charcount.'
----------------------------7d12442eab4
Content-Disposition: form -データ; name="msg"
'.$message.'
----------------------------7d12442eab4
Content-Disposition: form -データ; name="x"
30
----------------------------7d12442eab4
Content-Disposition: form-data; name="y"
16
----------------------------7d12442eab4--
';
$remote = fsockopen ("web.icq.com", 80, &$errno, &$errstr, 30);
global $remote;
global $post;
fputs($remote, $post);
while (!feof( $remote)) { $htmlreply.=fgets($remote,120); }
//出力のコメント解除: echo "".htmlspecialchars($htmlreply)."";
fclose($remote);
//************************************************* **************// send 'moved の場合、メッセージが送信されるかどうかを確認します' が返されます
if (eregi('Moved Permanently',$htmlreply))
{ echo "SMS メッセージが正常に送信されました!"; }
else
{ echo "SMS が送信されませんでした!"; }
?>