您的位置:首页技术文章
文章详情页

javascript - 求赐教:网易邮箱Web端模拟登录看信的加密参数_ntes_nnid、_ntes_nuid

【字号: 日期:2023-09-12 15:50:48浏览:46作者:猪猪

问题描述

网易邮箱的模拟登录和收信都非常简单,在阅读邮件的时候需要两个参数:_ntes_nnid 和 _ntes_nuid

_ntes_nnid=21533f97b25070a31c249f59513ad20c,1492592485123_ntes_nuid=21533f97b25070a31c249f59513ad20c

32位的,看着像MD5加密。还请各位大神不吝赐教!

下面是阅读邮件的代码:

Get地址:http://mail.163.com/js6/read/...★ mid是收信时给的

请求头信息:

Host: mail.163.comUser-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3Accept-Encoding: gzip, deflateReferer: http://mail.163.com/js6/main.jsp?sid=JBotLILIiJUXeLousXIIzvphyyqrIzxb&df=email163Connection: keep-aliveUpgrade-Insecure-Requests: 1

★ sid是登录时给的

Cookies:

mail_health_check_time=1492592481181JSESSIONID=3974283F6837B413D68C3980400C0D87SID=793490e4-a2cf-494c-afe6-0755b6b2bf2dP_INFO=lst_d9c@163.com|1492592479|0|mail163|00&99|shd&1492585407&mail163#shd&370800#10#0#0|&0|mail163|lst_d9c@163.comS_INFO=1492592479|0|2&70##|lst_d9cNTES_SESS=R0AofYsxryOBQctfrmVvpre0BCTU413FzX9.ZwrFyShYAZ_WA7Kw6gNj9oCelkHrPVajggmcNeD4f0uTMaehyteJca0yQXHhlSHoVCBtHlwC4s63GNk31zaDmRzFjgVBRkqleTL3wF9thkMkq3f483J7WC8Cl9wKnmail_upx=t11hz.mail.163.com|t12hz.mail.163.com|t13hz.mail.163.com|t1hz.mail.163.com|t2hz.mail.163.com|t4hz.mail.163.com|t5hz.mail.163.com|t6hz.mail.163.com|t7hz.mail.163.com|t8hz.mail.163.com|t10hz.mail.163.com|c7bj.mail.163.com|c1bj.mail.163.com|c2bj.mail.163.com|c3bj.mail.163.com|c4bj.mail.163.com|c5bj.mail.163.com|c6bj.mail.163.commail_upx_nf=mail_idc=Coremail=1492592479840%JBotLILIiJUXeLousXIIzvphyyqrIzxb%g7a58.mail.163.comMAIL_MISC=lst_d9ccm_last_info=dT1sc3RfZDljJTQwMTYzLmNvbSZkPWh0dHAlM0ElMkYlMkZtYWlsLjE2My5jb20lMkZqczYlMkZtYWluLmpzcCUzRnNpZCUzREpCb3RMSUxJaUpVWGVMb3VzWElJenZwaHl5cXJJenhiJnM9SkJvdExJTElpSlVYZUxvdXNYSUl6dnBoeXlxckl6eGImaD1odHRwJTNBJTJGJTJGbWFpbC4xNjMuY29tJTJGanM2JTJGbWFpbi5qc3AlM0ZzaWQlM0RKQm90TElMSWlKVVhlTG91c1hJSXp2cGh5eXFySXp4YiZ3PW1haWwuMTYzLmNvbSZsPS0xJnQ9LTEmbj1jMAIL_SESS=R0AofYsxryOBQctfrmVvpre0BCTU413FzX9.ZwrFyShYAZ_WA7Kw6gNj9oCelkHrPVajggmcNeD4f0uTMaehyteJca0yQXHhlSHoVCBtHlwC4s63GNk31zaDmRzFjgVBRkqleTL3wF9thkMkq3f483J7WC8Cl9wKnMAIL_SINFO=1492592479|0|2&70##|lst_d9cMAIL_PINFO=lst_d9c@163.com|1492592479|0|mail163|00&99|shd&1492585407&mail163#shd&370800#10#0#0|&0|mail163|lst_d9c@163.comsecu_info=1mail_entry_sess=7d3b347288dfc56a73f86b219b708ae5f9e8fc0a3ebabdab4b2bd8ae9fbbc022b67dc25b2e4cfa82fe21a9069a0b8260a5142bfc7a66a571d66e8ff93eb8d061f7eb08468dc9ed35013338fcffb0d0fe755f11b610b01a02fd50e721b7fee4d151502a0f2f13775d16bb84eb57203ce7108f2e7ba4c92bc5c5396501dc925d9117646a93c74cc141a0ef68c2ac79557ce9d953ba01892e6c0efa6fd9c1d6bca129b718743b592b696dc7fa070f29d0a187ead7ba3fe2d660765d1f0a6075490elocale=Coremail.sid=JBotLILIiJUXeLousXIIzvphyyqrIzxbmail_style=js6mail_uid=lst_d9c@163.commail_host=mail.163.com_ntes_nnid=21533f97b25070a31c249f59514ad20c,1492592485123_ntes_nuid=21533f97b25070a31c249f59514ad20cMailMasterPopupTips=1492592485755

★ 所有的Cookies中,只有_ntes_nnid 和 _ntes_nuid应该是JavaScript加密得到的。

import reimport requests# 登录mail = requests.Session()login_headers = { ’Host’: ’mail.163.com’, ’User-Agent’: ’Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0’, ’Accept’: ’text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8’, ’Accept-Language’: ’zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3’, ’Accept-Encoding’: ’gzip, deflate, br’, ’Referer’: ’http://email.163.com/’, ’Connection’: ’keep-alive’, ’Upgrade-Insecure-Requests’: ’1’}login_payload = { ’username’: ’lst_d9c@163.com’, ’url2’: ’http://email.163.com/errorpage/error163.htm’, ’savalogin’: ’0’, ’password’: ’kuli401’}login_http = mail.post(’https://mail.163.com/entry/cgi/ntesdoor?funcid=loginone&language=-1&passtype=1&iframe=1&product=mail163&from=web&df=email163&race=-2_39_-2_hz&module=&uid=lst_d9c@163.com&style=-1&net=c&skinid=null’, headers=login_headers, data=login_payload)sid = re.search(r’(?<=sid=).+(?=&df=email163)’, login_http.text).group(0)#收信receiving_headers = { ’Host’: ’mail.163.com’, ’User-Agent’: ’Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0’, ’Accept’: ’text/javascript’, ’Accept-Language’: ’zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3’, ’Accept-Encoding’: ’gzip, deflate’, ’Content-Type’: ’application/x-www-form-urlencoded’, ’Referer’: ’http://mail.163.com/js6/main.jsp?sid=’ + sid + ’&df=email163’, ’Content-Length’: ’539’, ’Connection’: ’keep-alive’}receiving_payload = { ’var’: ’<?xml version='1.0'?><object><int name='fid'>1</int><string name='order'>date</string><boolean name='desc'>true</boolean><int name='limit'>20</int><int name='start'>0</int><boolean name='skipLockedFolders'>false</boolean><string name='topFlag'>top</string><boolean name='returnTag'>true</boolean><boolean name='returnTotal'>true</boolean></object>’}receiving_http = mail.post(’http://mail.163.com/js6/s?sid=’ + sid + ’&func=mbox:listMessages&LeftNavfolder1Click=1&mbox_folder_enter=1’, headers=receiving_headers, data=receiving_payload)mid = re.search(r’(?<=’id’:’)S+(?=’,)’, receiving_http.text).group(0)#看信read_headers = { ’Host’: ’mail.163.com’, ’User-Agent’: ’Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0’, ’Accept’: ’text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8’, ’Accept-Language’: ’zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3’, ’Accept-Encoding’: ’gzip, deflate’, ’Referer’: ’http://mail.163.com/js6/main.jsp?sid=’ + sid + ’&df=email163’, ’Connection’: ’keep-alive’, ’Upgrade-Insecure-Requests’: ’1’}read_http = mail.get(’http://mail.163.com/js6/read/readhtml.jsp?mid=’ + mid + ’&font=15&color=064977’, headers=read_headers)print(sid)print(mid)print(read_http.text)

问题解答

回答1:

你都登录成功了,只要把session保持住就行了呀,为什么还要管cookies,参数里面只要sid,而你sid又可以从cookies里拿到

# coding: utf-8from __future__ import unicode_literalsimport reimport requests# 登录session = requests.Session()session.headers[’User-Agent’] = ’Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0’data = { ’username’: ’lst_d9c@163.com’, ’password’: ’kuli401’, ’funcid’: ’loginone’, ’language’: -1, ’passtype’: 1, ’iframe’: 1, ’product’: ’mail163’, ’from’: ’web’, ’df’: ’email163’,}print(’登录’)r = session.post(’https://mail.163.com/entry/cgi/ntesdoor’, data=data)url = re.search(’top.location.href = 'https://www.haobala.com/wenda/(.+)'’, r.text).group(1)print(’进入主页, url: {}’.format(url))session.get(url)sid = session.cookies.get(’Coremail.sid’)print(’收信, sid: {}’.format(sid))params = { ’sid’: sid, ’func’: ’mbox:listMessages’, ’LeftNavfolder1Click’: 1, ’mbox_folder_enter’: 1}payload = { ’var’: ’<?xml version='1.0'?><object><int name='fid'>1</int><string name='order'>date</string><boolean name='desc'>true</boolean><int name='limit'>20</int><int name='start'>0</int><boolean name='skipLockedFolders'>false</boolean><string name='topFlag'>top</string><boolean name='returnTag'>true</boolean><boolean name='returnTotal'>true</boolean></object>’}receive_url = ’http://mail.163.com/js6/s’r = session.post(receive_url, params=params, data=payload)mid = re.search(’<string name='id'>(.+)</string>’, r.text).group(1)print(’读信, mid: {}’.format(mid))r = session.get(’http://mail.163.com/js6/read/readhtml.jsp?mid={}&font=15&color=064977’.format(mid))print(r.text)

标签: JavaScript
相关文章: