微信开发公众号自动回复相同的消息求解 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
fusae

微信开发公众号自动回复相同的消息求解

  •  
  •   fusae Jul 23, 2018 3748 views
    This topic created in 2835 days ago, the information mentioned may be changed or developed.

    参考网上的一些例子来实现自动回复,我的理解就是把拿到的 XML 的发送方跟接收方交换下位置,就可以发回去。

    然后一些我不知道怎么解释的错误就出来了,各位大佬看看是什么回事,谢谢!

    1532333453(1).jpg

    这是处理 POST 的代码 1532333511(1).jpg

    10 replies    2018-07-24 09:27:34 +08:00
    fusae
        1
    fusae  
    OP
       Jul 23, 2018
    有啥见解或者方向都可以提一下,谢谢!
    torment5524
        2
    torment5524  
       Jul 23, 2018
    5 年前做过微信公众号开发,印象不是很深了。
    我怎么记得每条消息都是都是有个字段专门做了处理的。。。,你原样转回肯定是不行的。。
    fusae
        3
    fusae  
    OP
       Jul 23, 2018
    @torment5524 我看官方文档好像没有说你提到的某个字段啊
    https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140543
    torment5524
        4
    torment5524  
       Jul 23, 2018
    好的,我仔细看了下你的代码和文档好像确实没了,可能是我记得是根服务器认证那块。
    你的代码是和逻辑不配合
    from 存的是用户的 id
    to 存的是你的 id
    content 存的内容

    如果我没理解错的话,你返回的字符串参数中
    第一个是 to,你应该填入 from,但是你填的是 to
    第二个是 from,你应该填 to,但是你填的 from
    第三个是 createtime,应该填时间,你填的是回复内容 content
    第四个是 content,你填的是 msgid
    torment5524
        5
    torment5524  
       Jul 23, 2018
    @torment5524,@fusae 擦,看错了,没看到是 python,以为是 print 赋值参数了,我再仔细看看
    torment5524
        6
    torment5524  
       Jul 23, 2018
    之前抱歉,刚找了我原来写的代码逻辑( java )看了下,如果是原样回复,xml 部分确实只需要替换把发送接收方替换下,剩下的按照格式来即可,如果你的 python 代码生成的 xml,print 没有错误的话,试试直接 return 生成的 xml 字符串,不使用 make_responce 呢。网上看到几个 python 微信公众号的例子是直接返回的。
    fusae
        7
    fusae  
    OP
       Jul 23, 2018
    @torment5524 你好,我也觉得代码是没问题的,因为不是完全没有回复(看上图),还是有成功的例子的。如果是代码以外的原因,我就不太清楚了。昨晚刚建的阿里云机子,不过 80 端口应该没事啊。
    torment5524
        8
    torment5524  
       Jul 24, 2018
    @fusae 偶尔还有成功的就很可疑了,你有看下后台 print 的是否正常么,或者可以的话,用下抓包软件看下报文情况。。。
    MES
        9
    MES  
       Jul 24, 2018
    炒鸡简单啊,
    ```python
    def on_post(self, req, resp):
    xml = req.stream.read()
    msg = parse_message(xml)
    if msg.type == 'text':
    reply = TextReply(cOntent=msg.content, message=msg)
    xml = reply.render()
    resp.body = (xml)
    resp.status = falcon.HTTP_200
    ```
    MES
        10
    MES  
       Jul 24, 2018
    https://segmentfault.com/a/1190000015271082

    python 公众号开发非常简单,几行搞定
    About     Help     Advertise     Blog     API     FAQ     Solana     1253 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 38ms UTC 17:39 PVG 01:39 LAX 10:39 JFK 13:39
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86