python 发送飞信-短信接口

来源:互联网 发布:温州商学院淘宝班 编辑:程序博客网 时间:2024/05/02 05:06
#========================================================#           2013/09/2 #http://blog.csdn.net/agoago_2009             #========================================================# -*- coding:utf-8 -*-import urllib2,cookielib,urllib,re,random,jsonclass FEIXIN:def __init__(self):print 'init FEIXIN class...'self.name = "手机号"self.passwd = '飞信密码'ckjar = cookielib.CookieJar()cookiehandle = urllib2.HTTPCookieProcessor(ckjar)self.opener = urllib2.build_opener(cookiehandle)urllib2.install_opener(self.opener)self.ssid = ''self.uid = ''self.counter = 0self.login()self.GetPersonalInfo()def login(self):print 'start to login...'req = urllib2.Request("https://webim.feixin.10086.cn/WebIM/Login.aspx")req.add_header("x-requested-with", "XMLHttpRequest")req.add_header("Accept-Language", "zh-cn")req.add_header("Referer", "https://webim.feixin.10086.cn/loginform.aspx")req.add_header("Accept", "application/json, text/javascript, */*; q=0.01")req.add_header("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8")#req.add_header("Accept-Encoding", "gzip, deflate")req.add_header("User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; BOIE9;ZHCN)")req.add_header("Connection", "Keep-Alive")req.add_header("Cache-Control", "no-cache")body = r"UserName=" + self.name + "&Pwd=" + self.passwd + "&OnlineStatus=400&AccountType=1"conn = self.opener.open(req,body)info = conn.info()#print info['Set-Cookie']self.ssid = info['Set-Cookie'].split("webim_sessionid=")[1].split(";")[0]data = conn.read()#print dataif '{"rc":200}' == data:print 'login succeessfully...'def GetPersonalInfo(self):print 'GetPersonalInfo...'req = urllib2.Request("https://webim.feixin.10086.cn/WebIM/GetPersonalInfo.aspx?Version="+ str(self.counter))self.counter = self.counter + 1req.add_header("x-requested-with", "XMLHttpRequest")req.add_header("Accept-Language", "zh-cn")req.add_header("Referer", "https://webim.feixin.10086.cn/main.aspx")req.add_header("Accept", "application/json, text/javascript, */*; q=0.01")req.add_header("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8")#req.add_header("Accept-Encoding", "gzip, deflate")req.add_header("User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; BOIE9;ZHCN)")req.add_header("Connection", "Keep-Alive")req.add_header("Cache-Control", "no-cache")body = r"ssid=" + self.ssidconn = self.opener.open(req,body)info = conn.info()data = conn.read()data = json.loads(data)self.uid = str(data["rv"]["uid"])return datadef GetContactList(self):print 'GetContactList...'req = urllib2.Request("https://webim.feixin.10086.cn/WebIM/GetContactList.aspx?Version="+ str(self.counter))self.counter = self.counter + 1req.add_header("x-requested-with", "XMLHttpRequest")req.add_header("Accept-Language", "zh-cn")req.add_header("Referer", "https://webim.feixin.10086.cn/main.aspx")req.add_header("Accept", "application/json, text/javascript, */*; q=0.01")req.add_header("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8")#req.add_header("Accept-Encoding", "gzip, deflate")req.add_header("User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; BOIE9;ZHCN)")req.add_header("Connection", "Keep-Alive")req.add_header("Cache-Control", "no-cache")body = r"ssid=" + self.ssidconn = self.opener.open(req,body)info = conn.info()data = conn.read()data = json.loads(data)return datadef GetFriendUid(self,user_name):data = api.GetContactList()friends = data["rv"]["bds"]for friend in friends:name = friend["ln"]uid = str(friend["uid"])if name.encode("utf8") == user_name:print name,uidreturn uidreturn '0'def GetPcRecommendBuddyListV2Handler(self):print 'GetPcRecommendBuddyListV2Handler...'req = urllib2.Request("https://webim.feixin.10086.cn/WebIM/GetPcRecommendBuddyListV2Handler.aspx?Version="+ str(self.counter))self.counter = self.counter + 1req.add_header("x-requested-with", "XMLHttpRequest")req.add_header("Accept-Language", "zh-cn")req.add_header("Referer", "https://webim.feixin.10086.cn/main.aspx")req.add_header("Accept", "application/json, text/javascript, */*; q=0.01")req.add_header("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8")#req.add_header("Accept-Encoding", "gzip, deflate")req.add_header("User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; BOIE9;ZHCN)")req.add_header("Connection", "Keep-Alive")req.add_header("Cache-Control", "no-cache")body = r"ssid=" + self.ssidconn = self.opener.open(req,body)info = conn.info()data = conn.read()data = json.loads(data)return datadef SendSMS(self,Receivers,Message):#Receivers = [669456576,649237761]#Receivers = ','.join(Receivers)print 'SendSMS...'req = urllib2.Request("https://webim.feixin.10086.cn/content/WebIM/SendSMS.aspx?Version="+ str(self.counter))self.counter = self.counter + 1req.add_header("x-requested-with", "XMLHttpRequest")req.add_header("Accept-Language", "zh-cn")req.add_header("Referer", "https://webim.feixin.10086.cn/content/freeSms.htm?tabIndex=0")req.add_header("Accept", "application/json, text/javascript, */*")req.add_header("Content-Type", "application/x-www-form-urlencoded")#req.add_header("Accept-Encoding", "gzip, deflate")req.add_header("User-Agent", "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; BOIE9;ZHCN)")req.add_header("Connection", "Keep-Alive")req.add_header("Cache-Control", "no-cache")body = r"UserName=" + self.uid + "&Message=" + urllib.quote(Message) + "&Receivers=" + Receivers + "&ssid=" + self.ssidconn = self.opener.open(req,body)info = conn.info()data = conn.read()data = json.loads(data)return dataif __name__=="__main__":api = FEIXIN()api.SendSMS(api.uid,'send to myself to test...')uid = api.GetFriendUid("老婆")Message = '没事的,哈哈,我的一个程序,测试一下'api.SendSMS(uid,Message)

原创粉丝点击