Open chenbotao828 opened 6 years ago
更新一下,上面的bug是笔记本用手机热点信号时产生的,在宽带连接时没有出现这样的情况,可能是网速的问题?
源码有bug吧,改下源码吧。
之前没在意,现在发现确实不行
class Message(object):
# ...........
@property
def _file_url(self):
"""
| 消息中文件的下载地址 (内部使用)
| 注意: 该 URL 会验证 cookies, 只能使用登陆所在的 session 进行下载
| 若需下载,请使用 `get_file()` 方法
"""
uris = self.core.uris
tree = self._content_xml ###########>>>>>> 【 这里 tree 为空】
upper_params = {'MsgID': self.id, 'skey': self.core.data.skey, 'type': 'big'}
lower_params = {'msgid': self.id, 'skey': self.core.data.skey}
match = {
IMAGE: (uris.get_msg_img, upper_params),
STICKER: (uris.get_msg_img, upper_params),
VOICE: (uris.get_voice, lower_params),
VIDEO: (uris.get_video, lower_params),
}.get(self.type)
if tree and match:
return '{}?{}'.format(match[0], urlencode(match[1]))
elif self.type == FILE:
return '{}?{}'.format(uris.get_media, urlencode(dict(
sender=self.raw['FromUserName'],
mediaid=self.media_id,
filename=self._content_xml.findtext('.//title'),
fromuser=self.core.data.raw_self['Uin'],
pass_ticket=self.core.data.pass_ticket,
webwx_data_ticket=self.core.from_cookies('webwx_data_ticket')
)))
# ...........
@property
def _content_xml(self):
""" Content 字段中的 xml 对象 """
try:
#########>>>>>>【 这里的self._content 就是一楼的’Content‘ @a8c40642395f2ed5...' 】
return ETree.fromstring(self._content)
except ETree.ParseError:
pass
还有一个新Bug 发送图片也会报错:
In [70]: img.reply_image('XX.jpg')
---------------------------------------------------------------------------
ResponseError Traceback (most recent call last)
<ipython-input-70-b9b23607b36a> in <module>()
----> 1 img.reply_image('XX.jpg')
~/my_wxpy_app/venv/lib/python3.6/site-packages/wxpy/api/chats/chat.py in send_image(self, path, media_id)
103 """
104
--> 105 return self.send(path, IMAGE, media_id)
106
107 def send_sticker(self, path, media_id=None):
~/my_wxpy_app/venv/lib/python3.6/site-packages/wxpy/api/chats/chat.py in send(self, content, msg_type, media_id)
91 """
92
---> 93 return self.core.send(self, content, msg_type, media_id)
94
95 def send_image(self, path, media_id=None):
~/my_wxpy_app/venv/lib/python3.6/site-packages/wxpy/api/core.py in send(self, receiver, content, msg_type, media_id, **kwargs)
681 else:
682 msg_dict['MediaId'] = media_id
--> 683
684 # request
685
~/my_wxpy_app/venv/lib/python3.6/site-packages/wxpy/api/core.py in post(self, url, ext_data, load_resp, **kwargs)
165
166 resp = self.session.post(url, **kwargs)
--> 167 if load_resp:
168 resp = self.load_response_as_json(resp)
169 return resp
~/my_wxpy_app/venv/lib/python3.6/site-packages/wxpy/api/core.py in load_response_as_json(self, resp)
1102 err_msg = base_response['ErrMsg']
1103 except (KeyError, TypeError):
-> 1104 logger.error('failed to parse base_response:\n{}'.format(json_dict['BaseResponse']))
1105 else:
1106 if err_code != 0:
ResponseError: <Core: 小红>: err_code: 1204; err_msg:
请教@youfou @mapleflow 怎么解决? 是否是文字信息和图片信息的get post 方式有区别?然后new-core没有考虑到?
@youfou @mapleflow @hanx11 @bluedazzle @ourbest 各位大侠,这个 issue 在 new-core 还是蛮蛋疼的,你们是否有时间能看下是什么问题,我能力有限,还请各位大侠出手~谢谢~~~!!!!
如题,
get_file
file_name
file_ext
均无返回,代码如下~Content 这个数据为什么是“@”开头的一串数字? 补充,wxpy master 分支实验过,正常,没有出现类似情况。