def send_news(self, fakeid, msgid):
        """
        向指定用户发送图文消息 （必须从图文库里选取消息ID传入)
        :param fakeid: 用户的 UID (即 fakeid)
        :param msgid: 图文消息 ID
        :raises NeedLoginError: 操作未执行成功, 需要再次尝试登录, 异常内容为服务器返回的错误数据
        :raises ValueError: 参数出错, 具体内容有 ``fake id not exist`` 及 ``message id not exist``
        """
        url = 'https://mp.weixin.qq.com/cgi-bin/singlesend?t=ajax-response'
        payload = {
            'lang': 'zh_CN',
            'f': 'json',
            'tofakeid': fakeid,
            'type': 10,
            'token': self.__token,
            'appmsgid': msgid,
            'app_id': msgid,
            'error': 'false',
            'ajax': 1,
            'random': random.random(),
        }
        headers = {
            'x-requested-with': 'XMLHttpRequest',
            'referer': 'https://mp.weixin.qq.com/cgi-bin/singlemsgpage?fromfakeid={fakeid}&msgid=&source=&count=20&t=wxm-singlechat&lang=zh_CN'.format(
                fakeid=fakeid,
            ),
            'cookie': self.__cookies,
        }
        r = requests.post(url, data=payload, headers=headers)

        try:
            message = json.loads(r.text)
        except ValueError:
            raise NeedLoginError(r.text)
        try:
            if message['base_resp']['ret'] == 10700 or message['base_resp']['ret'] == -21:
                raise ValueError('fake id not exist')
            if message['base_resp']['ret'] == 10705:
                raise ValueError('message id not exist')
            if message['base_resp']['ret'] != 0:
                raise NeedLoginError(r.text)
        except KeyError:
            raise NeedLoginError(r.text)
def send_news(self, fakeid, msgid):
        """
        向指定用户发送图文消息 （必须从图文库里选取消息ID传入)
        :param fakeid: 用户的 UID (即 fakeid)
        :param msgid: 图文消息 ID
        :raises NeedLoginError: 操作未执行成功, 需要再次尝试登录, 异常内容为服务器返回的错误数据
        :raises ValueError: 参数出错, 具体内容有 ``fake id not exist`` 及 ``message id not exist``
        """
        url = 'https://mp.weixin.qq.com/cgi-bin/singlesend?t=ajax-response'
        payload = {
            'lang': 'zh_CN',
            'f': 'json',
            'tofakeid': fakeid,
            'type': 10,
            'token': self.__token,
            'appmsgid': msgid,
            'app_id': msgid,
            'error': 'false',
            'ajax': 1,
            'random': random.random(),
        }
        headers = {
            'x-requested-with': 'XMLHttpRequest',
            'referer': 'https://mp.weixin.qq.com/cgi-bin/singlemsgpage?fromfakeid={fakeid}&msgid=&source=&count=20&t=wxm-singlechat&lang=zh_CN'.format(
                fakeid=fakeid,
            ),
            'cookie': self.__cookies,
        }
        r = requests.post(url, data=payload, headers=headers)

        try:
            message = json.loads(r.text)
        except ValueError:
            raise NeedLoginError(r.text)
        try:
            if message['base_resp']['ret'] == 10700 or message['base_resp']['ret'] == -21:
                raise ValueError('fake id not exist')
            if message['base_resp']['ret'] == 10705:
                raise ValueError('message id not exist')
            if message['base_resp']['ret'] != 0:
                raise NeedLoginError(r.text)
        except KeyError:
            raise NeedLoginError(r.text)
def send_news ( self , fakeid , msgid ) : url = 'https://mp.weixin.qq.com/cgi-bin/singlesend?t=ajax-response' payload = { 'lang' : 'zh_CN' , 'f' : 'json' , 'tofakeid' : fakeid , 'type' : 10 , 'token' : self . __token , 'appmsgid' : msgid , 'app_id' : msgid , 'error' : 'false' , 'ajax' : 1 , 'random' : random . random ( ) , } headers = { 'x-requested-with' : 'XMLHttpRequest' , 'referer' : 'https://mp.weixin.qq.com/cgi-bin/singlemsgpage?fromfakeid={fakeid}&msgid=&source=&count=20&t=wxm-singlechat&lang=zh_CN' . format ( fakeid = fakeid , ) , 'cookie' : self . __cookies , } r = requests . post ( url , data = payload , headers = headers ) try : message = json . loads ( r . text ) except ValueError : raise NeedLoginError ( r . text ) try : if message [ 'base_resp' ] [ 'ret' ] == 10700 or message [ 'base_resp' ] [ 'ret' ] == - 21 : raise ValueError ( 'fake id not exist' ) if message [ 'base_resp' ] [ 'ret' ] == 10705 : raise ValueError ( 'message id not exist' ) if message [ 'base_resp' ] [ 'ret' ] != 0 : raise NeedLoginError ( r . text ) except KeyError : raise NeedLoginError ( r . text )
向指定用户发送图文消息 （必须从图文库里选取消息ID传入)
        :param fakeid: 用户的 UID (即 fakeid)
        :param msgid: 图文消息 ID
        :raises NeedLoginError: 操作未执行成功, 需要再次尝试登录, 异常内容为服务器返回的错误数据
        :raises ValueError: 参数出错, 具体内容有 ``fake id not exist`` 及 ``message id not exist``
向指定用户发送图文消息 （必须从图文库里选取消息ID传入 ) : param fakeid : 用户的 UID ( 即 fakeid ) : param msgid : 图文消息 ID : raises NeedLoginError : 操作未执行成功 需要再次尝试登录 异常内容为服务器返回的错误数据 : raises ValueError : 参数出错 具体内容有 fake id not exist 及 message id not exist