kc回拨的一个python脚本

这个按道理是可以呼死某个手机号的,原意是为了做一个电话报警的免费提醒,不需要语音提醒,只需要打个电话给我

import http.cookiejar
import urllib.request
import re
import urllib.parse
import json
import os
homeUrl = 'http://wap.keepc.com'
loginUrl = 'http://wap.keepc.com/wap/wapLogin.act'
headers={
         'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36',
         'Referer':'http://wap.keepc.com',
         }
cookieFileName='cookie.txt'
class call():
    def __init__(self):
        self.cookieJar = http.cookiejar.LWPCookieJar() 
        opener = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(self.cookieJar))
        urllib.request.install_opener(opener)
    def saveCookie(self):
        self.cookieJar.save(cookieFileName, ignore_discard=True, ignore_expires=True)
    def loadCookie(self):
        self.cookieJar.load(cookieFileName, ignore_discard=True, ignore_expires=True)
    def login(self):
        loginUrl = 'http://wap.keepc.com/wap/wapLogin.act'
        data = {
            'account': "18351003638",
            'password': "password",
            'loginDto.rememberMe': 'yes'
        }        
        post_data = urllib.parse.urlencode(data).encode(encoding='UTF8')
        request = urllib.request.Request(loginUrl,post_data,headers)
        request = urllib.request.urlopen(request)
        request.close()
        #判断是否登录成功
        self.isSucLogged()
    def isSucLogged(self):
        request = urllib.request.Request("http://wap.keepc.com/wap/toWapIndex.act",headers=headers)
        request = urllib.request.urlopen(request)
        homeHtml = request.read().decode('UTF8')
        request.close()
        username=re.search(r"欢迎,(.*?)&#12288",homeHtml)
        #获取checkcode2,用于search参数
        money=re.search(r"账户余额:<em>(.*?)</em>元",homeHtml)
        if money !=None:
            print(money.group(1))
        if username !=None:
            self.saveCookie()
            print("登录成功,欢迎%s" % username.group(1))
            return 1
        else:
            print('登录失败')
            return 0
    def cookieLogin(self):
        self.loadCookie()
        result = self.isSucLogged()
        if result==0:
            print('即将尝试账号密码登录')
            self.login()
        else:
            print('本次通过cookie快速登录')
    def toCall(self):
        toCallUrl="http://wap.keepc.com/wap/toCall.act"
        request = urllib.request.Request(toCallUrl,headers=headers)
        request = urllib.request.urlopen(request)
        pageHtml = request.read().decode('UTF8')
        request.close()
        sign=re.search(r'sign = "(.*?)"',pageHtml).group(1)
        print(sign)
        callUrl ="http://wap.keepc.com/wap/autoCallBack.act"
        data = {
            'account': '109432071',
            'mobile': '18351003638',
            'invitedby': '17051252109',
            'sign': sign

        }        
        post_data = urllib.parse.urlencode(data).encode(encoding='UTF8')
        request = urllib.request.Request(callUrl,post_data,headers)
        request = urllib.request.urlopen(request)
        pageHtml = request.read().decode('UTF8')
        request.close()
        print(pageHtml)
        if  json.loads(pageHtml)['code']==0:
            print("拨打成功")


if __name__ == '__main__':
    call = call();
    if not os.path.exists("cookie.txt"):
        call.login()
    else:
        call.cookieLogin()
    call.toCall()
系统基本运作原理: 先以您在中国使用我们的回拨系统为例。假设您要从中国拨打美国的号码001-626-570-4511。回拨系统是这么开始的。 首先,我们会给您一个DID预约号码。您用身边的电话拨打该预约号时,会听到一声振铃声,然后就会立即挂断您的电话(您不用支付该费用,因为电话没有接通)。几秒钟内,您的电话会再次响起, 这就是我们的回拨系统打给您的,这时您再次拿起话筒就连通了回拨系统,系统会给你语音提示,然后你根据语音提示再打你真正要打的世界各地的号码。如果此时打美国的号码,如001-626-570-4511,您就可以如同置身在美国国内,象打美国国内长途电话一样节约费用。 拨打回拨预约号+挂机+接听回拨来电+拨打外地长途号码+#号键+畅快的聊天=您使用了最便宜,最方便的回拨电话业务。 系统的组成模块以及简要说明: 服务管理模块,负责调度其他各个模块的相互工作。 日志监控模块,完成系统的日志输出工作,可以在运营维护时远程查看系统日志。 回拨服务模块,完成主要的回拨业务流程,包括IVR 语音交互、号码认证、计费采集等等各种业务流程。 业务监控模块,可以让管理员在远程查看服务器各个模块的运行情况,包括相应业务情况。 网页管理模块,完成总管理平台、代理商平台、用户自助平台的主要功能。 中继预约模块,完成高并发的中继预约方式,提高整个系统的预约性能。 中继接入模块,可以完成通过DID 号码直接接通,并且完成各种业务流程的功能。 手机软件模块,提供简单的手机模块方式预约功能,完成所有服务提供的业务接口。 话单分拣模块,完成高并发系统下的话单分解分拣功能。 流程设计模块,完成IVR 语音流程的自定义设置。 预约回拨流程说明: 预约方式大致分成两种,分别是直接预约方式和间接预约方式。 直接预约方式就是首先向系统提交一个号码,该号码必须是已经绑定成功的号码,系统回拨该号码,接通后,通过DTMF(二次拨号)的方式在呼叫真实的号码,并且接通。 间接预约方式就是一次性向系统提交三个号码,分别是计费号码、被叫号码A、被叫号码B,不需要用户做DTMF(二次拨号),系统首先接通A,A摘机后,系统会呼叫B,最后将A和B接通。 直接预约提供Web方式、短信方式、中继预约、普通呼叫方式。 间接预约提供Web方式、短信方式。 目前最新版本的预约回拨系统支持功能: 1. 支持灵活的主叫和被叫号码变化规则。   2. 支持Callback服务的集群方式,可以有效线形的提升系统并发性能。   3. 灵活的路由设置,可以根据被叫前缀动态选择路由,支持区分系统回拨和用户回拨路由选择。   4. 灵活的费率计划支持,区分系统回拨和用户回拨,为运营提供更大的灵活性。   5. 管理平台支持总管理、分销商和用户自助方式。   6. 提供远程监控接口,可以查看呼叫的详细信息。   7. 支持一次被叫的IVR语音交互方式,并提供DTMF方式回拨。   8. 支持DTMF的Tone音的语音识别(准确情况视网络情况而定)。   9. 支持直接呼叫的预约方式。   10.支持先接通被叫后接通主叫的的预约方式。   11.支持短信预约方式。   12.短信方式支持充值、查询余额、绑定号码、取消绑定、支持短信回复。 13.支持本地市话的拨号方式(区分本地市话和长途的不同计费标准),可以做本地业务。 14.系统支持缩位拨号功能,方便用户使用,使呼损降到最低。 系统软件配置要求: 1. Microsoft WIN2000 WIN2003 服务器版本 2. WINDOWS系统补丁(尤其使冲击波震荡波),视操作系统而定,WIN2000+SP4或者WIN2003+SP1 3. Microsoft SQLSERVER2000 (SP3) 4. Microsoft IIS 以及相关补丁(发布ASP使用) 5. 以下任意一种远程管理软件 RemoteAdmin pcAnywhere VNC 微软远程桌面 服务器硬件要求:(以下硬件可以保证单机并发720线上) 1. CPU(2*2.4G) RAM(1G以上) DISK(40G) NetAdapter(100M) 2. 服务器托管到一个运营商的机房内, 拥有至少一个独立IP地址。 3. 网络建议与落地网关在同一个机房内。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bwlab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值