request 模块用于取代 urllib 和 urllib2 模块,详细用法参考:http://www.cnblogs.com/pzk7788/p/8099295.html
#!/usr/bin/env python #-*- coding: utf8 -*- import re import urllib2 import requests class MyMail(object): def __init__(self): self.headers = {‘User-Agent‘: ‘Mozilla/5.0 (Windows NT6.1; rv:47.0) Gecko/20100101 Firefox/47.0‘} self.baseURL = ‘https://bjmail.clustertech.com/roundcude/‘ self.loginURL = self.baseURL + ‘?_task=login‘ def getPage(self): self.session = requests.session() try: response = self.session.get(url=self.baseURL, headers=self.headers, verify=False) return response.text except urllib2.URLError, e: if hasattr(e, ‘reason‘): print "连接服务器失败,错误原因", e.reason return None def getToken(self): page = self.getPage() re_token = re.compile(r‘<form.*?<input.*?value="(.*?)".*?>‘, re.S) token = re_token.search(page) if token: return token.group(1) else: return None def login(self): data = {"_token":self.getToken(), "_task":"login", "_action":"login", "_timezone":"Asia/Shanghai", "_url":"", "_user":"zyli", "_pass":"1234.qwe"} try: response = self.session.post(url = self.loginURL, data = data, headers = self.headers, verify = False) print response.text except urllib2.URLError, e: print e gs = MyMail() gs.getToken() gs.login()