[转]支持V4协议飞信机器人发布(20101205002服务/命令模式均支持)
支持V4协议飞信机器人发布(20101205002服务/命令模式均支持)
看到论坛上有人质疑
飞信
机器人
弹出图形验证码的行为是为了赚钱,见该贴: http://bbs.it-adv.net/viewthread.php?tid=1096
(请
飞信机器人
学学360啦)
在此声明,弹出图形验证码是官方飞信服务器需要的,不是我程序的行为。不信的话,可以自己去抓包分析。请不要在论坛上抗议图形码的事情,要抗议,打10086去抗议。飞信机器人命令行版本永久免费使用。
移动发布公告( http://feixin.10086.cn/bulletin/2521/1 ):11月20日之后,将停止3.5及以下版本飞信的支持。特此发布新版支持V4协议的机器人程序,请使用原09版机器人的朋友迅速测试并升级。
新版飞信机器人版本号起于 20101113002,凡之前版本的飞信机器人,11月20日之后将不能使用。
1. 遇到输入图形验证码时,自动生成图形验证码, 用户 可以手工输入识别后的验证码(解决之前的422问题,识别及输入方法见Q&A)。
2. 可以设定遇到图形验证时的行为,退出( --exit-on-verifycode=1)或者手工输入(当机器人后台执行时,如果等待输入将导致程序无限期等待)
3. 第一次运行时将缓存配置数据(文件名:登录账号.cache),之后运行自动加载缓存,提高发送速度。
4. 集成推立方( http://www.tui3.com )短信发送协议,发送到联通、电信手机或遇飞信服务器不可用时,可以直接使用本客户端进行发送(注:该服务为收费服务,详细情况请见: http://www.tui3.com/page/tuixin )
和下载以往版本一样,先回复后下载噢。
>> 安装 <<
本程序为绿色程序,无需安装,下载解压后即可使用。
1. 根据您的需求,分别下载附件中的windows或者linux版本的机器人主程序(回贴后才能下载噢,请别嫌麻烦),解压(注意:主程序所在目录的路径中不要存在空格,如 c:\Program files\... 这样的目录)
下载:
windows版本: fetion.rar (156.81 KB) linux版本: fetion (491.63 KB)
2. 下载机器人支持库(使用机器人以前版本的朋友可以直接忽略),把压缩包中的文件解压到主程序相同的目录
windows 版本: http://www.it-adv.net/fetion/win32dll_20101113.rar
linux版本: http://www.it-adv.net/fetion/linuxso_20101113.rar (在Redhat4 下编译,其它LINUX发行版的朋友请测试)
linux64位(centos5.4)版本: http://www.it-adv.net/fetion/cenos54X64_20101113.rar (感谢QQ“走過你的風”网友提供。Centos5.4 64位linux系统下,如果用上面提供的linux版本动态库,会提示Segmentation fault,程序异常退出)
(为何分开下载?因为机器人主程序经常更新,而支持库不会更新)
注意:linux用户,请不要把支持库中的 lib* 复制到 /usr/lib 下,因为发行版本不同,可能会覆盖您机器中的核心库,导致严重系统问题。您可以把库解压到主程序的相同目录,然后以 LD_LIBRARY_PATH=. ./fetion 来运行)
>> 使用说明 <<
以下参数提供登录用的账号密码(三种方式,手机号-密码 飞信号-密码 文件--索引)
--mobile=[手机号] 登录手机号
--sid=[飞信号] 登录飞信号
--pwd=[密码] 登录密码
--config=[文件名] 存储手机号、密码的文件。
--index=[索引号] 索引
以下参数提供接收者
--to=[手机号/飞信号/URI] 接收消息的手机号/飞信号/URI.如果知道对方URI,则只需自己在对方好友列表,无需对方在自己好友列表就能发送。
支持多个号码,中间用,逗号分隔
--msg-utf8=[信息]
发送的消息,UTF8编码
--msg-gb=[信息]
发送的消息,GB编码
--file-utf8=[文件utf8格式]
发送文件内容
--file-gb=[文件gb格式]
发送文件内容
--msg-type=[0/1/2]
发送消息类型:普通消息 长消息 智能短信
小工具
--query-cmcc-no 查询移动公司手机段
以下为可选项
--debug
显示 调试 信息
--hide
隐身登录
--exit-on-verifycode
服务器需要进行图形验证时,程序退出(1)或者等待用户手工输入识别信息(程序默认)
--proxy-ip=http 代理 ip
--proxy-port=http代理端口
(机器人需要 HTTP CONNECT代理,大家常用的 ccproxy 是支持的)
>> 举例 <<
以下为 windows 下举例:
fetion --mobile=13711123456 --pwd=mypwd --to=137xxxxxxxx --msg-gb=测试
fetion --sid=6630321 --pwd=mypwd --to=137xxxxxxxx --msg-gb=测试
fetion --config=sample.conf --index=1 --to=137xxxxxxxx --msg-gb=测试
linux下,请使用如下命令:
LD_LIBRARY_PATH=. ./fetion --mobile=13711123456 --pwd=mypwd --to=137xxxxxxxx --msg-utf8=测试
LD_LIBRARY_PATH=. ./fetion --sid=6630321 --pwd=mypwd --to=137xxxxxxxx --msg-utf8=测试
LD_LIBRARY_PATH=. ./fetion --config=sample.conf --index=1 --to=137xxxxxxxx --msg-utf8=测试
发送消息中如果需要换行,请用 \n
// 以下为 sample.conf 内容,文件内容中, #号为注释行
# This config file is for fetion robot tool.
# Usage demo: ./fetion --config=/etc/fetion.conf --index=1
# ID Mobile Password
1 137xxxx 1234234
使用推立方收费短信服务:
fetion --mobile=接收人手机 --t3key=推立方APIKEY --msg-gb=gbk编码的发送内容( 或者 --msg-utf8=utf8格式的内容 )
推立方APIKEY:到推立方官方网站( http://www.tui3.com/ ) 注册 会员(注册成功后,赠送10条短信),进行产品配置,则可以获取该KEY。
新版提示:
1. 使用复杂的密码(数字+字母+符号),将不会弹出图形验证码(我测试时是这种表现)。
2. 第一次使用机器人时,即使是复杂密码,也可能会弹出图形验证码,以后将不再提示。
3. 如果您是使用其它程序调用本程序,请在运行时,指定 --exit-on-verifycode=1, 否则,程序将无限期等待。当您以该参数运行机器人时,当弹出图形验证码时,程序将以退出码29结束( 在 linux 中,通过$?获取,在 windows中,通过 %ERRORLEVEL% 获取)
4. 请确保目录权限可写
补充Q&A:
1.WIN2003不能使用:感谢32楼lvjinhua提供的解决办法“win2003不能用的问题,安装 vs2008 sp1的vcredist_x86.exe( http://www.microsoft.com/downloads/en/confirmation.aspx?familyid=a5c84275-3b97-4ab7-a40d-3802b2af5fc2&displaylang=en ) 就好了!”
2.运行时显示的中文乱码:程序运行时,LINUX环境以UTF8编码输出,WINDOWS环境以GBK编码输出,请注意您使用控制台的编码方式。另外,即使中文乱码也不影响您的使用,那句话的提示就是让您打开 图形文件,输入图片识别码。
3.WINDOWS下密码中如果有 特殊字符 如何输入,比如&|: 请用 ^ 进行 转义 ,如密码中有 &,请输入 ^&
4.输过一次验证码以后,以后还会再要求输入吗?目前的表现是这样(如过一次,再登录就不会输入),但不保证以后移动飞信服务器修改验证规则以后,会不会再强制你输入(比如飞信服务器认为你的账号有异常,或者你的账号频繁登录、频繁发短信)。
5.如何输入图片验证码?因为飞信机器人是控制台程序,无法显示图片,所以,请把生成的图片用查看图片的办法打开后进行识别。如果您的环境是在linux下,并且没有X环境,那么您可以把图片下载到WINDOWS机器中查看。人工识别后,把识别后的内容输入即可。
6.494错误:发送U到12520,就可以解除受限。
更新日志:
20101205002:支持服务模式
20101115005:FIXBUG:某些环境下,不能获取图形验证码,提示:getpiccodev4 return error xml(感谢网友QQ五斗米的协助)
20101113002:支持飞信最新V4协议初始版本
在此声明,弹出图形验证码是官方飞信服务器需要的,不是我程序的行为。不信的话,可以自己去抓包分析。请不要在论坛上抗议图形码的事情,要抗议,打10086去抗议。飞信机器人命令行版本永久免费使用。
移动发布公告( http://feixin.10086.cn/bulletin/2521/1 ):11月20日之后,将停止3.5及以下版本飞信的支持。特此发布新版支持V4协议的机器人程序,请使用原09版机器人的朋友迅速测试并升级。
新版飞信机器人版本号起于 20101113002,凡之前版本的飞信机器人,11月20日之后将不能使用。
1. 遇到输入图形验证码时,自动生成图形验证码, 用户 可以手工输入识别后的验证码(解决之前的422问题,识别及输入方法见Q&A)。
2. 可以设定遇到图形验证时的行为,退出( --exit-on-verifycode=1)或者手工输入(当机器人后台执行时,如果等待输入将导致程序无限期等待)
3. 第一次运行时将缓存配置数据(文件名:登录账号.cache),之后运行自动加载缓存,提高发送速度。
4. 集成推立方( http://www.tui3.com )短信发送协议,发送到联通、电信手机或遇飞信服务器不可用时,可以直接使用本客户端进行发送(注:该服务为收费服务,详细情况请见: http://www.tui3.com/page/tuixin )
和下载以往版本一样,先回复后下载噢。
>> 安装 <<
本程序为绿色程序,无需安装,下载解压后即可使用。
1. 根据您的需求,分别下载附件中的windows或者linux版本的机器人主程序(回贴后才能下载噢,请别嫌麻烦),解压(注意:主程序所在目录的路径中不要存在空格,如 c:\Program files\... 这样的目录)
下载:
以下内容需要回复才能看到
windows版本: fetion.rar (156.81 KB) linux版本: fetion (491.63 KB)
2. 下载机器人支持库(使用机器人以前版本的朋友可以直接忽略),把压缩包中的文件解压到主程序相同的目录
windows 版本: http://www.it-adv.net/fetion/win32dll_20101113.rar
linux版本: http://www.it-adv.net/fetion/linuxso_20101113.rar (在Redhat4 下编译,其它LINUX发行版的朋友请测试)
linux64位(centos5.4)版本: http://www.it-adv.net/fetion/cenos54X64_20101113.rar (感谢QQ“走過你的風”网友提供。Centos5.4 64位linux系统下,如果用上面提供的linux版本动态库,会提示Segmentation fault,程序异常退出)
(为何分开下载?因为机器人主程序经常更新,而支持库不会更新)
注意:linux用户,请不要把支持库中的 lib* 复制到 /usr/lib 下,因为发行版本不同,可能会覆盖您机器中的核心库,导致严重系统问题。您可以把库解压到主程序的相同目录,然后以 LD_LIBRARY_PATH=. ./fetion 来运行)
>> 使用说明 <<
以下参数提供登录用的账号密码(三种方式,手机号-密码 飞信号-密码 文件--索引)
--mobile=[手机号] 登录手机号
--sid=[飞信号] 登录飞信号
--pwd=[密码] 登录密码
--config=[文件名] 存储手机号、密码的文件。
--index=[索引号] 索引
以下参数提供接收者
--to=[手机号/飞信号/URI] 接收消息的手机号/飞信号/URI.如果知道对方URI,则只需自己在对方好友列表,无需对方在自己好友列表就能发送。
支持多个号码,中间用,逗号分隔
--msg-utf8=[信息]
发送的消息,UTF8编码
--msg-gb=[信息]
发送的消息,GB编码
--file-utf8=[文件utf8格式]
发送文件内容
--file-gb=[文件gb格式]
发送文件内容
--msg-type=[0/1/2]
发送消息类型:普通消息 长消息 智能短信
小工具
--query-cmcc-no 查询移动公司手机段
以下为可选项
--debug
显示 调试 信息
--hide
隐身登录
--exit-on-verifycode
服务器需要进行图形验证时,程序退出(1)或者等待用户手工输入识别信息(程序默认)
--proxy-ip=http 代理 ip
--proxy-port=http代理端口
(机器人需要 HTTP CONNECT代理,大家常用的 ccproxy 是支持的)
>> 举例 <<
以下为 windows 下举例:
fetion --mobile=13711123456 --pwd=mypwd --to=137xxxxxxxx --msg-gb=测试
fetion --sid=6630321 --pwd=mypwd --to=137xxxxxxxx --msg-gb=测试
fetion --config=sample.conf --index=1 --to=137xxxxxxxx --msg-gb=测试
linux下,请使用如下命令:
LD_LIBRARY_PATH=. ./fetion --mobile=13711123456 --pwd=mypwd --to=137xxxxxxxx --msg-utf8=测试
LD_LIBRARY_PATH=. ./fetion --sid=6630321 --pwd=mypwd --to=137xxxxxxxx --msg-utf8=测试
LD_LIBRARY_PATH=. ./fetion --config=sample.conf --index=1 --to=137xxxxxxxx --msg-utf8=测试
发送消息中如果需要换行,请用 \n
// 以下为 sample.conf 内容,文件内容中, #号为注释行
# This config file is for fetion robot tool.
# Usage demo: ./fetion --config=/etc/fetion.conf --index=1
# ID Mobile Password
1 137xxxx 1234234
使用推立方收费短信服务:
fetion --mobile=接收人手机 --t3key=推立方APIKEY --msg-gb=gbk编码的发送内容( 或者 --msg-utf8=utf8格式的内容 )
推立方APIKEY:到推立方官方网站( http://www.tui3.com/ ) 注册 会员(注册成功后,赠送10条短信),进行产品配置,则可以获取该KEY。
新版提示:
1. 使用复杂的密码(数字+字母+符号),将不会弹出图形验证码(我测试时是这种表现)。
2. 第一次使用机器人时,即使是复杂密码,也可能会弹出图形验证码,以后将不再提示。
3. 如果您是使用其它程序调用本程序,请在运行时,指定 --exit-on-verifycode=1, 否则,程序将无限期等待。当您以该参数运行机器人时,当弹出图形验证码时,程序将以退出码29结束( 在 linux 中,通过$?获取,在 windows中,通过 %ERRORLEVEL% 获取)
4. 请确保目录权限可写
补充Q&A:
1.WIN2003不能使用:感谢32楼lvjinhua提供的解决办法“win2003不能用的问题,安装 vs2008 sp1的vcredist_x86.exe( http://www.microsoft.com/downloads/en/confirmation.aspx?familyid=a5c84275-3b97-4ab7-a40d-3802b2af5fc2&displaylang=en ) 就好了!”
2.运行时显示的中文乱码:程序运行时,LINUX环境以UTF8编码输出,WINDOWS环境以GBK编码输出,请注意您使用控制台的编码方式。另外,即使中文乱码也不影响您的使用,那句话的提示就是让您打开 图形文件,输入图片识别码。
3.WINDOWS下密码中如果有 特殊字符 如何输入,比如&|: 请用 ^ 进行 转义 ,如密码中有 &,请输入 ^&
4.输过一次验证码以后,以后还会再要求输入吗?目前的表现是这样(如过一次,再登录就不会输入),但不保证以后移动飞信服务器修改验证规则以后,会不会再强制你输入(比如飞信服务器认为你的账号有异常,或者你的账号频繁登录、频繁发短信)。
5.如何输入图片验证码?因为飞信机器人是控制台程序,无法显示图片,所以,请把生成的图片用查看图片的办法打开后进行识别。如果您的环境是在linux下,并且没有X环境,那么您可以把图片下载到WINDOWS机器中查看。人工识别后,把识别后的内容输入即可。
6.494错误:发送U到12520,就可以解除受限。
更新日志:
20101205002:支持服务模式
20101115005:FIXBUG:某些环境下,不能获取图形验证码,提示:getpiccodev4 return error xml(感谢网友QQ五斗米的协助)
20101113002:支持飞信最新V4协议初始版本
服务模式开发使用指南
在服务模式下,飞信机器人将长期在线,可以用来构造交互性的机器人应用。具体演示可以加蓝色理想网站飞信机器人:806908614。
服务模式运行方法:
fetion --mobile=手机号 --pwd=密码
fetion --sid=飞信号 --pwd=密码
服务模式支持电子邮箱注册的飞信号码
服务模式开发使用资料导航:
1.飞信机器人服务版配置视频教程: http://bbs.it-adv.net/viewthread.php?tid=188&extra=page%3D1
(该视频教程为windows版本,linux版本和此类似)
2. 飞信机器人框架配置指南: http://bbs.it-adv.net/viewthread.php?tid=174&extra=page%3D1
3. 自带演示框架数据库说明及操作指南(PDF): http://bbs.it-adv.net/viewthread.php?tid=172&extra=page%3D1
4. 插件原理: http://bbs.it-adv.net/viewthread.php?tid=28&extra=page%3D1
5. 机器人PHP框架及数据库SQL文件: http://www.it-adv.net/fetion/downng/plugins_sql.rar
6. 控制指令集: http://wiki.blueidea.com/index.php?title=%E9%A3%9E%E4%BF%A1%E6%9C%BA%E5%99%A8%E4%BA%BA/%E6%8E%A7%E5%88%B6%E6%8C%87%E4%BB%A4%E9%9B%86
7. 事件插件: http://wiki.blueidea.com/index.php?title=%E9%A3%9E%E4%BF%A1%E6%9C%BA%E5%99%A8%E4%BA%BA/%E4%BA%8B%E4%BB%B6%E6%8F%92%E4%BB%B6%E5%BC%80%E5%8F%91%E8%AF%B4%E6%98%8E
8.蓝色理想飞信机器人WIKI: http://wiki.blueidea.com/index.php?title=%E9%A3%9E%E4%BF%A1%E6%9C%BA%E5%99%A8%E4%BA%BA
服务版本未授权的用户使用时,有如下限制:
1、不支持加好友请求事件(handle_contact_request)
2、不支持删除指令(buddy-delete)
3、不支持获取好友信息指令(contact-info)
4、发送消息时,后面有网站信息
新版变化:
1、新版插件第一个参数传递的飞信号码(以前传递的是手机号,由此带来的问题是:如果还是用原来的框架,那么生成的cmd文件,前面是飞信号。但是飞信机器人主程序认的命令文件是 手机号_id.cmd, 所以,请修改相应代码,把飞信号换成手机号)
2、handle_contact_request,传递的userid(之前是uri)
3、buddy-delete 使用 userid
4、accept_contact_request: 使用 userid
5、buddy-data: 新增加一个字段:carrier-region,例如:CN.bj.10.
升级注意事项:
1、以前使用飞信机器人服务版框架的朋友进行升级时一定注意:因插件的第一个参数由以前的手机号改成了飞信号, plugin_buddy_data 中一段代码需要删除,否则会造成好友等几个数据表清空。
2、V4协议中,用户所属城市信息由以前的 省+市 改成了 carrier-region ,plugin_buddy_data 中的 province 和 city 不在有效
服务模式运行方法:
fetion --mobile=手机号 --pwd=密码
fetion --sid=飞信号 --pwd=密码
服务模式支持电子邮箱注册的飞信号码
服务模式开发使用资料导航:
1.飞信机器人服务版配置视频教程: http://bbs.it-adv.net/viewthread.php?tid=188&extra=page%3D1
(该视频教程为windows版本,linux版本和此类似)
2. 飞信机器人框架配置指南: http://bbs.it-adv.net/viewthread.php?tid=174&extra=page%3D1
3. 自带演示框架数据库说明及操作指南(PDF): http://bbs.it-adv.net/viewthread.php?tid=172&extra=page%3D1
4. 插件原理: http://bbs.it-adv.net/viewthread.php?tid=28&extra=page%3D1
5. 机器人PHP框架及数据库SQL文件: http://www.it-adv.net/fetion/downng/plugins_sql.rar
6. 控制指令集: http://wiki.blueidea.com/index.php?title=%E9%A3%9E%E4%BF%A1%E6%9C%BA%E5%99%A8%E4%BA%BA/%E6%8E%A7%E5%88%B6%E6%8C%87%E4%BB%A4%E9%9B%86
7. 事件插件: http://wiki.blueidea.com/index.php?title=%E9%A3%9E%E4%BF%A1%E6%9C%BA%E5%99%A8%E4%BA%BA/%E4%BA%8B%E4%BB%B6%E6%8F%92%E4%BB%B6%E5%BC%80%E5%8F%91%E8%AF%B4%E6%98%8E
8.蓝色理想飞信机器人WIKI: http://wiki.blueidea.com/index.php?title=%E9%A3%9E%E4%BF%A1%E6%9C%BA%E5%99%A8%E4%BA%BA
服务版本未授权的用户使用时,有如下限制:
1、不支持加好友请求事件(handle_contact_request)
2、不支持删除指令(buddy-delete)
3、不支持获取好友信息指令(contact-info)
4、发送消息时,后面有网站信息
新版变化:
1、新版插件第一个参数传递的飞信号码(以前传递的是手机号,由此带来的问题是:如果还是用原来的框架,那么生成的cmd文件,前面是飞信号。但是飞信机器人主程序认的命令文件是 手机号_id.cmd, 所以,请修改相应代码,把飞信号换成手机号)
2、handle_contact_request,传递的userid(之前是uri)
3、buddy-delete 使用 userid
4、accept_contact_request: 使用 userid
5、buddy-data: 新增加一个字段:carrier-region,例如:CN.bj.10.
升级注意事项:
1、以前使用飞信机器人服务版框架的朋友进行升级时一定注意:因插件的第一个参数由以前的手机号改成了飞信号, plugin_buddy_data 中一段代码需要删除,否则会造成好友等几个数据表清空。
2、V4协议中,用户所属城市信息由以前的 省+市 改成了 carrier-region ,plugin_buddy_data 中的 province 和 city 不在有效