通过ICQ网关发送手机短信的PHP源程序
程序员文章站
2022-10-06 10:54:49
通过icq网关发送手机短信的php源程序(转自linuxforum.net 原作者:liushiliang email: lsl@163.net )&...
通过icq网关发送手机短信的php源程序
(转自linuxforum.net 原作者:liushiliang email: lsl@163.net )
<?
//###########################################################
//
// for questions and comments
// roland (alias -=: vlieg :=-)
// icq #78354631
// mail: vlieg@atoomnet.net
//
// nb: this script won't work on free hosting pages, because of the secure mode!
// nb: you must have registered your icq# at http://web.icq.com/sms/login/ in order for this script to work
//###########################################################
//****************************************************************\//config:
$uin=""; //your icq number
$passw=""; //your icqpassword
$prefix=""; //sms prefix
$phonenumber=""; //sms phone number
$message = "hello!"; //sms message
//****************************************************************\// en: calculate the content length
$contentlength= ( 37+
strlen($uin)+
strlen($passw)
);
//****************************************************************\// openen van de inlogpagina
// en: open loginpage
$htmlreply="";
$post ="post http://web.icq.com/karma/dologin/1,,,00.html http/1.0
accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
referer: 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 (compatible; msie 5.0; windows 98; digext)
host: web.icq.com
content-length: ".$contentlength."
proxy-connection: keep-alive
pragma: no-cache
cookie: uin=".$uin."; sms_country=".$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); }
//uncomment for output: echo "".htmlspecialchars($htmlreply)."";
fclose($remote);
//****************************************************************\//persoonlijke cookie uit de inlogpage halen
// en: fetch personal cookie from login page
$splited = split("\n",$htmlreply);
$cookies = $splited[3];
$cookies = str_replace("set-cookie: karmalogin=","",$cookies);
$cookies = str_replace("; path=/","",$cookies);
$cookies = str_replace("\n","",$cookies);
//uncomment voor output: 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 openen met de opgehaalde cookie
// en: open send page with fetched cookie
$htmlreply="";
$post ='post http://web.icq.com/sms/send_history/1,,,00.html http/1.0
accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
referer: http://web.icq.com/sms/send_session/1,,,00.html?prefix=+'.$prefix.'&carrier=&tophone='.$phonenumber.'
accept-language: nl
content-type: multipart/form-data; boundary=---------------------------7d12442eab4
accept-encoding: gzip, deflate
user-agent: mozilla/4.0 (compatible; msie 5.0; windows 98; digext)
host: web.icq.com
content-length: '.$contentlength.'
proxy-connection: keep-alive
pragma: no-cache
cookie: uin='.$uin.'; sms_country='.$prefix.'; karmaservice1=yes; karmalogin='.$cookies.'; uin='.$uin.'; sms_country='.$prefix.'; karmaservice1=yes; karmalogin='.$cookies.'
-----------------------------7d12442eab4
content-disposition: form-data; name="carrier"
-----------------------------7d12442eab4
content-disposition: form-data; name="prefix"
'.$contentprefix.'
-----------------------------7d12442eab4
content-disposition: form-data; name="tophone"
'.$phonenumber.'
-----------------------------7d12442eab4
content-disposition: form-data; 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-data; name="msg"
'.$message.'
-----------------------------7d12442eab4
content-disposition: form-data; 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); }
//uncomment for output: echo "".htmlspecialchars($htmlreply)."";
fclose($remote);
//****************************************************************\// check if message is send if send 'moved permanently' is returned
if (eregi('moved permanently',$htmlreply))
{ echo "sms message successfully sent!"; }
else
{ echo "sms not sent!"; }
?>
(转自linuxforum.net 原作者:liushiliang email: lsl@163.net )
<?
//###########################################################
//
// for questions and comments
// roland (alias -=: vlieg :=-)
// icq #78354631
// mail: vlieg@atoomnet.net
//
// nb: this script won't work on free hosting pages, because of the secure mode!
// nb: you must have registered your icq# at http://web.icq.com/sms/login/ in order for this script to work
//###########################################################
//****************************************************************\//config:
$uin=""; //your icq number
$passw=""; //your icqpassword
$prefix=""; //sms prefix
$phonenumber=""; //sms phone number
$message = "hello!"; //sms message
//****************************************************************\// en: calculate the content length
$contentlength= ( 37+
strlen($uin)+
strlen($passw)
);
//****************************************************************\// openen van de inlogpagina
// en: open loginpage
$htmlreply="";
$post ="post http://web.icq.com/karma/dologin/1,,,00.html http/1.0
accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
referer: 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 (compatible; msie 5.0; windows 98; digext)
host: web.icq.com
content-length: ".$contentlength."
proxy-connection: keep-alive
pragma: no-cache
cookie: uin=".$uin."; sms_country=".$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); }
//uncomment for output: echo "".htmlspecialchars($htmlreply)."";
fclose($remote);
//****************************************************************\//persoonlijke cookie uit de inlogpage halen
// en: fetch personal cookie from login page
$splited = split("\n",$htmlreply);
$cookies = $splited[3];
$cookies = str_replace("set-cookie: karmalogin=","",$cookies);
$cookies = str_replace("; path=/","",$cookies);
$cookies = str_replace("\n","",$cookies);
//uncomment voor output: 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 openen met de opgehaalde cookie
// en: open send page with fetched cookie
$htmlreply="";
$post ='post http://web.icq.com/sms/send_history/1,,,00.html http/1.0
accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*
referer: http://web.icq.com/sms/send_session/1,,,00.html?prefix=+'.$prefix.'&carrier=&tophone='.$phonenumber.'
accept-language: nl
content-type: multipart/form-data; boundary=---------------------------7d12442eab4
accept-encoding: gzip, deflate
user-agent: mozilla/4.0 (compatible; msie 5.0; windows 98; digext)
host: web.icq.com
content-length: '.$contentlength.'
proxy-connection: keep-alive
pragma: no-cache
cookie: uin='.$uin.'; sms_country='.$prefix.'; karmaservice1=yes; karmalogin='.$cookies.'; uin='.$uin.'; sms_country='.$prefix.'; karmaservice1=yes; karmalogin='.$cookies.'
-----------------------------7d12442eab4
content-disposition: form-data; name="carrier"
-----------------------------7d12442eab4
content-disposition: form-data; name="prefix"
'.$contentprefix.'
-----------------------------7d12442eab4
content-disposition: form-data; name="tophone"
'.$phonenumber.'
-----------------------------7d12442eab4
content-disposition: form-data; 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-data; name="msg"
'.$message.'
-----------------------------7d12442eab4
content-disposition: form-data; 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); }
//uncomment for output: echo "".htmlspecialchars($htmlreply)."";
fclose($remote);
//****************************************************************\// check if message is send if send 'moved permanently' is returned
if (eregi('moved permanently',$htmlreply))
{ echo "sms message successfully sent!"; }
else
{ echo "sms not sent!"; }
?>
上一篇: PHP设计模式之责任链模式的深入解析
下一篇: 最小化数据传输——在客户端存储数据