zoukankan      html  css  js  c++  java
  • python2发微信脚本

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    import urllib,urllib2,json
    import sys
    reload(sys)
    sys.setdefaultencoding( "utf-8" )
    
    class WeChat(object):
            __token_id = ''
            # init attribute
            def __init__(self,url):
                    self.__url = url.rstrip('/')
                    self.__corpid = '你的公众号corpid'
                    self.__secret = '你的密码'
    
            # Get TokenID
            def authID(self):
                    params = {'corpid':self.__corpid, 'corpsecret':self.__secret}
                    data = urllib.urlencode(params)
    
                    content = self.getToken(data)
    
                    try:
                            self.__token_id = content['access_token']
                            # print content['access_token']
                    except KeyError:
                            raise KeyError
    
            # Establish a connection
            def getToken(self,data,url_prefix='/'):
                    url = self.__url + url_prefix + 'gettoken?'
                    try:
                            response = urllib2.Request(url + data)
                    except KeyError:
                            raise KeyError
                    result = urllib2.urlopen(response)
                    content = json.loads(result.read())
                    return content
    
    
            # Get sendmessage url
            def postData(self,data,url_prefix='/'):
                    url = self.__url + url_prefix + 'message/send?access_token=%s' % self.__token_id
                    request = urllib2.Request(url,data)
                    try:
                            result = urllib2.urlopen(request)
                    except urllib2.HTTPError as e:
                            if hasattr(e,'reason'):
                                    print 'reason',e.reason
                            elif hasattr(e,'code'):
                                    print 'code',e.code
                            return 0
                    else:
                            content = json.loads(result.read())
                            result.close()
                    return content
    
    
            # send message
            def sendMessage(self,touser,message):
                    self.authID()
                    data = json.dumps({
                            'touser':touser,
                            'toparty':"2",
                            'msgtype':"text",
                            'agentid':"1",
                            'text':{
                                    'content':message
                            },
                            'safe':"0"
                    },ensure_ascii=False)
    
                    response = self.postData(data)
                    print response
    
    
    
    
    if __name__ == '__main__':
            a = WeChat('https://qyapi.weixin.qq.com/cgi-bin')
            a.sendMessage(sys.argv[1],sys.argv[3])
    

      

  • 相关阅读:
    数据对象映射模式
    策略模式
    适配模式
    注册模式
    单例模式
    工厂模式
    PHP魔法方法的使用
    【转】通过 ulimit 改善系统性能
    HDMI相关知识
    中国三种3G网络频段
  • 原文地址:https://www.cnblogs.com/guoyabin/p/7116783.html
Copyright © 2011-2022 走看看