Git Product home page Git Product logo

Comments (3)

lanybass avatar lanybass commented on June 19, 2024

在无法登陆之后,立即用浏览器去登录web版微信,会看到提示无法登陆的原因。
一般是:“为了你的账号安全……”

from wechat-go.

lichongsw avatar lichongsw commented on June 19, 2024

尝试各种更改和测试之后,推测12小时后准时掉线是因为cookies的问题。

曾经在swingcoder的一篇文章里看到过
“webwxnewloginpage登录时设置的cookie超期时间是12小时,如果保持一直在登录状态在后台运行是个问题”
https://my.oschina.net/swingcoder/blog/846324

最近同时测试一款基于Itchat的的版本,已经能够做到稳定在线几天,暂时还没有最长在线时间的记录。(期间由于没有给登录客户端的手机充电导致客户端长时间离线,网页版退出过一次)
https://github.com/youfou/wxpy

目前正在分析两份代码之间的差异,由webwxnewloginpage获取cookies确实不一样。但是一番更改之后也没有效果

Itchat 获取cookies在这里,有使用agent和禁止重定向。
https://github.com/littlecodersh/ItChat/blob/bbcb8173b611137a6fd6ac8a4d0a96cb8892fbd6/itchat/components/login.py#L155
用于获取的cookies的url以及header和返回值如下:

https://wx2.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage?ticket=A0SDusp2BS5bDUK5anHLxG3_@qrticket_0&uuid=wctca-zidQ==&lang=zh_CN&scan=1507635953, headers {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.71 Safari/537.36'}
<RequestsCookieJar[<Cookie webwx_data_ticket=gSfPzkiPgY6AOraNlSPg0OCT for .qq.com/>, <Cookie mm_lang=zh_CN for .wx2.qq.com/>, <Cookie webwx_auth_ticket=CIsBEISA2rwIGoABQrMB8HLjAyY+tU2hXXaUkKXDfLsVdMGC+9Bp6H6gsOisukWtGlkKtVFUvmXcDldxOYYVFlszt94PSG+E3uGB4ugySujDph7XNZBIGPmGqCf/i9pCuDY3rReyPkUQB238w/ghKuqKLwORkYDbBQFMSVd+jRzpyjXimCVxvW+UHlU= for .wx2.qq.com/>, <Cookie webwxuvid=63c07c6419b7a7715dcaad0dc0c5db08f61b5954a4d5be37b3620923746d29daf4160550da82e548353b8e560d4a85b7 for .wx2.qq.com/>, <Cookie wxloadtime=1507635956 for .wx2.qq.com/>, <Cookie wxsid=35D2iIbg0ukKuRnK for .wx2.qq.com/>, <Cookie wxuin=1723220544 for .wx2.qq.com/>]>

在wechat里面也尝试使用agent和禁止重定向

req, err := http.NewRequest("GET", uri, nil)
req.Header.Add("User-Agent", common.UserAgent)

client := &http.Client{}

client.CheckRedirect = func(req *http.Request, via []*http.Request) error { 
	return http.ErrUseLastResponse
}
resp, err := client.Do(req)
if err != nil {
	return nil, err
}

用于获取的cookies的url以及header和返回值如下

https://wx2.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage?fun=new&lang=zh_CN&scan=1507687863&ticket=AyNMMOHzFrz43QUK8EMwYU25%40qrticket_0&uuid=Iekd0qFZRA%3D%3D
{200 OK 200 HTTP/1.1 1 1 map[Set-Cookie:[wxuin=1726265714; Domain=wx2.qq.com; Path=/; Expires=Wed, 11-Oct-2017 14:11:07 GMT wxsid=96T1xEYbLjNG1aLT; Domain=wx2.qq.com; Path=/; Expires=Wed, 11-Oct-2017 14:11:07 GMT wxloadtime=1507687867; Domain=wx2.qq.com; Path=/; Expires=Wed, 11-Oct-2017 14:11:07 GMT mm_lang=zh_CN; Domain=wx2.qq.com; Path=/; Expires=Wed, 11-Oct-2017 14:11:07 GMT webwx_data_ticket=gSfdmOPkrNmf7LaAXPXB5qKO; Domain=.qq.com; Path=/; Expires=Wed, 11-Oct-2017 14:11:07 GMT webwxuvid=e406bc7b10dea4018895f36a0280b173eb655d21c12c4a529dc33bf97dd1f860b851925714d7358fd03e6389096dd836; Domain=wx2.qq.com; Path=/; Expires=Sat, 09-Oct-2027 02:11:07 GMT webwx_auth_ticket=CIsBEPDxp44JGoABWvu4yxffpXuED1uzTly5TtGVWW40hOUopQ86ilfb9NBm6bhETU4t4e1Io69qql5VwzgaaGDf8viD95sBtKLeaO26AdD4ZKxD1ptpVAMKWc4SvBBJr6QwFJcrHyU4CCEecF1fTvjrtuGjN31MilxEKyj7P7DUtFAc5sK86NYKrRE=; Domain=wx2.qq.com; Path=/; Expires=Sat, 09-Oct-2027 02:11:07 GMT] Content-Type:[text/plain;charset=utf-8]] 0xc4201bdea0 -1 [] true true map[] 0xc420119000 0xc4203bc420}

如果强制使用与Itchat一样的url(去掉func=new以及各种编码),结果如下,但任然是12小时退出

2017/10/11 10:37:25 [I] https://wx2.qq.com/cgi-bin/mmwebwx-bin/webwxnewloginpage?ticket=A0ufx-hRz7tqHeqT_svQ6Gd7@qrticket_0&uuid=AePQEjbbnQ==&lang=zh_CN&scan=1507689441
2017/10/11 10:37:25 [I] &{301 Moved Permanently 301 HTTP/1.1 1 1 map[Set-Cookie:[wxuin=1726265714; Domain=wx2.qq.com; Path=/; Expires=Wed, 11-Oct-2017 14:37:25 GMT wxsid=wjwcXefGO2o89I+v; Domain=wx2.qq.com; Path=/; Expires=Wed, 11-Oct-2017 14:37:25 GMT wxloadtime=1507689445; Domain=wx2.qq.com; Path=/; Expires=Wed, 11-Oct-2017 14:37:25 GMT mm_lang=zh_CN; Domain=wx2.qq.com; Path=/; Expires=Wed, 11-Oct-2017 14:37:25 GMT webwx_data_ticket=gSeQIas0NSwawJgOI8FtQaAb; Domain=.qq.com; Path=/; Expires=Wed, 11-Oct-2017 14:37:25 GMT webwxuvid=e406bc7b10dea4018895f36a0280b173eb655d21c12c4a529dc33bf97dd1f860b683ae7ef972e0cd821a3506a0d4a435; Domain=wx2.qq.com; Path=/; Expires=Sat, 09-Oct-2027 02:37:25 GMT webwx_auth_ticket=CIsBEKX177ENGoABcABzTKabULxH5RsmJhyUQtGVWW40hOUopQ86ilfb9NBm6bhETU4t4e1Io69qql5VwzgaaGDf8viD95sBtKLeaMxXMio8y0j7hhowHAjyPg+3rj69yaquXHwiwtO5GeCDZLCENLk2jtAO38qC6EjdqCj7P7DUtFAc5sK86NYKrRE=; Domain=wx2.qq.com; Path=/; Expires=Sat, 09-Oct-2027 02:37:25 GMT] Location:[/] Content-Type:[text/plain;charset=utf-8]] 0xc420198da0 -1 [] true true map[] 0xc4201ca000 0xc4203a4420}

@lanybass @songtianyi 求教有没有什么办法避开这个cookies的问题?也许思路一开始就不对,还请指教。

有没有能够超过12个小时的稳定在线的同学吱个声帮帮忙。由于对在线稳定性有要求,所以必须解决这个12小时掉线的问题。还请各位大神指点,再次感激不尽。

from wechat-go.

lichongsw avatar lichongsw commented on June 19, 2024

目前基于itchat进行的调试(修改默认的agent,采用旧版本的requests,在python3.5的环境中已经能够稳定使用2周左右)。稳定性已经不是问题,但更严重的问题是长期大量使用群消息之后被微信各种封号和限制网页版登录。

目前这种使用环境确实非常苛刻,自己研究一下还好,不能用在需要可靠工作的场合。
web协议的研究基本达到目的,开始转入其他协议的研究。就此关闭问题,@lanybass @songtianyi和其他对微信有兴趣的朋友保持联系哦。

from wechat-go.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.