zoukankan      html  css  js  c++  java
  • 使用python登陆126邮箱

    import sys, urllib2, urllib, cookielib
    import urlparse
    import re, os, string
    from stat import *
    
    cookie = cookielib.LWPCookieJar()
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
    #opener = urllib2.build_opener(urllib2.HTTPHandler())
    opener.add_handler(urllib2.HTTPHandler())
    urllib2.install_opener(opener)
    def login126(username, password):
    	url1 = '''
    	https://reg.163.com/logins.jsp?type=1&product=mail126&url=http://entry.mail.126.com/cgi/ntesdoor?hid%3D10010102%26lightweight%3D1%26verifycookie%3D1%26language%3D0%26style%3D-1
    	'''
    	values = {
    		'domain' : '126.com',
    		'language' : '0',
    		'bCookie' : '',
    		'username' : '%s@126.com' % username,
    		'savelogin' : '',
    		'url2' : 'http%3A%2F%2Fmail.126.com%2Ferrorpage%2Ferr_126.htm',
    		'user' : '%s' % username,
    		'password' : '%s' % password,
    		'style' : '-1',
    		'secure' : '',
    		'enter.x' : '%B5%C7%A1%A1%C2%BC'
    	}
    
    	data = urllib.urlencode(values)
    	req = urllib2.Request(url1, data)
    	response = opener.open(req)
    	data2 =response.read()
    
    	url2 = re.search(r'(?<=(replace\(")).*?(?=")', data2).group()
    	response = opener.open(url2)
    	data3 = response.read()
    
    	url3 = re.search(r'(?<=(replace\(")).*?(?=")', data3).group()
    	response = opener.open(url3)
    	data4 = response.read()
    
    	url4 = re.sub(r'main', 'index', response.url )
    	response = opener.open(url4)
    	data5 = response.read()
    
    	url5 = re.sub(r'/index.jsp', '', url4)
    	part1 = re.search(r'(http://).*?(?=/)', url4).group()
    	part2 = re.search(r'sid.+', url4).group()
    	url5 = '%s/a/s?%s&func=mbox:listMessages' % (part1, part2)
    
    	received_xml = '''
    	<?xml version="1.0"?>
    	<object>
    		<int name="fid">1</int>
    		<string name="order">date</string>
    		<boolean name="desc">true</boolean>
    		<boolean name="topFirst">false</boolean>
    		<int name="start">0</int>
    		<int name="limit">20</int>
    	</object>
    	'''
    
    	draft_xml = '''
    	<?xml version="1.0"?>
    	<object>
    		<int name="fid">2</int>
    		<string name="order">date</string>
    		<boolean name="desc">true</boolean>
    		<boolean name="topFirst">false</boolean>
    		<int name="start">0</int>
    		<int name="limit">20</int>
    	</object>
    	'''
    	sent_xml = '''
    	<?xml version="1.0"?>
    	<object>
    		<int name="fid">3</int>
    		<string name="order">date</string>
    		<boolean name="desc">true</boolean>
    		<boolean name="topFirst">false</boolean>
    		<int name="start">0</int>
    		<int name="limit">20</int>
    	</object>
    	''' 
    	delete_xml = '''
    	<?xml version="1.0"?>
    	<object>
    		<int name="fid">4</int>
    		<string name="order">date</string>
    		<boolean name="desc">true</boolean>
    		<boolean name="topFirst">false</boolean>
    		<int name="start">0</int>
    		<int name="limit">20</int>
    	</object>
    	'''
    	data = draft_xml
    
    	req = urllib2.Request(url5, data)
    	response = opener.open(req)
    	data6 = response.read()
    
    	index = 0
    	for match in re.finditer(r'(?<="subject"\>).*?(?=\<)',data6):
    		index += 1
    		print ("第%d封邮件   %s" % ( index, match.group().decode('utf8').encode('gbk')))
  • 相关阅读:
    CodeForces 156B Suspects(枚举)
    CodeForces 156A Message(暴力)
    CodeForces 157B Trace
    CodeForces 157A Game Outcome
    HDU 3578 Greedy Tino(双塔DP)
    POJ 2609 Ferry Loading(双塔DP)
    Java 第十一届 蓝桥杯 省模拟赛 19000互质的个数
    Java 第十一届 蓝桥杯 省模拟赛 19000互质的个数
    Java 第十一届 蓝桥杯 省模拟赛 19000互质的个数
    Java 第十一届 蓝桥杯 省模拟赛十六进制转换成十进制
  • 原文地址:https://www.cnblogs.com/LinuxHunter/p/1891637.html
Copyright © 2011-2022 走看看