通过ICQ网关发送手机短信的PHP源程序


Posted in PHP onOctober 09, 2006

通过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!"; }
?>

PHP 相关文章推荐
php zip文件解压类代码
Dec 02 PHP
PHP 获取文件路径(灵活应用__FILE__)
Feb 15 PHP
PHP资源管理框架Assetic简介
Jun 12 PHP
Dwz与thinkphp整合下的数据导出到Excel实例
Dec 04 PHP
PHP扩展模块memcached长连接使用方法分析
Dec 24 PHP
php通过exif_read_data函数获取图片的exif信息
May 21 PHP
WordPress中转义HTML与过滤链接的相关PHP函数使用解析
Dec 22 PHP
php生成酷炫的四个字符验证码
Apr 22 PHP
ThinkPHP3.2.3实现分页的方法详解
Jun 03 PHP
highchart数据源纵轴json内的值必须是int(详解)
Feb 20 PHP
PHP array_reduce()函数的应用解析
Oct 28 PHP
laravel实现简单用户权限的示例代码
May 28 PHP
搜索引擎技术核心揭密
Oct 09 #PHP
输出控制类
Oct 09 #PHP
提取HTML标签
Oct 09 #PHP
如何把PHP转成EXE文件
Oct 09 #PHP
一个查看session内容的函数
Oct 09 #PHP
一个显示天气预报的程序
Oct 09 #PHP
web方式ftp
Oct 09 #PHP
You might like
PHP开发文件系统实例讲解
2006/10/09 PHP
模拟OICQ的实现思路和核心程序(三)
2006/10/09 PHP
PHP注释实例技巧
2008/10/03 PHP
批量获取memcache值并按key的顺序返回的实现代码
2011/06/14 PHP
Linux系统下php获得系统分区信息的方法
2015/03/30 PHP
php实现微信发红包
2015/12/05 PHP
Javascript 获取LI里的内容
2008/12/17 Javascript
JS 树形递归实例代码
2010/05/18 Javascript
JQueryEasyUI datagrid框架的进阶使用
2013/04/08 Javascript
自己动手实现jQuery Callbacks完整功能代码详解
2013/11/25 Javascript
HTML5之WebSocket入门3 -通信模型socket.io
2015/08/21 Javascript
node.js爬虫爬取拉勾网职位信息
2017/03/14 Javascript
详解Angular4 路由设置相关
2017/08/26 Javascript
vue实现提示保存后退出的方法
2018/03/15 Javascript
Node.js设置定时任务之node-schedule模块的使用详解
2020/04/28 Javascript
python元组操作实例解析
2014/09/23 Python
python下载文件时显示下载进度的方法
2015/04/02 Python
python如何在循环引用中管理内存
2018/03/20 Python
Python使用matplotlib实现基础绘图功能示例
2018/07/03 Python
python实现图像拼接功能
2020/03/23 Python
python matplotlib.pyplot.plot()参数用法
2020/04/14 Python
深入研究HTML5实现图片压缩上传功能
2016/03/25 HTML / CSS
HTML5中实现拖放效果无须借助javascript
2012/12/26 HTML / CSS
超市促销实习自我鉴定
2013/09/23 职场文书
高级人员简历的自我评价分享
2013/11/03 职场文书
毕业自荐书
2013/12/09 职场文书
《卖木雕的少年》教学反思
2014/04/11 职场文书
奥巴马英文演讲稿
2014/05/15 职场文书
环境工程专业自荐信范文
2014/06/24 职场文书
会计系毕业求职信
2014/08/07 职场文书
校园环保广播稿(3篇)
2014/09/15 职场文书
小学家长通知书评语
2014/12/31 职场文书
遗愿清单观后感
2015/06/09 职场文书
导游词之蓬莱长岛
2019/12/17 职场文书
python基于scrapy爬取京东笔记本电脑数据并进行简单处理和分析
2021/04/14 Python
Go中使用gjson来操作JSON数据的实现
2022/08/14 Golang