您的位置:首页 > 编程语言 > Python开发

python 实现 自动oa 签到签退 发送邮件提醒

2016-10-21 09:29 961 查看
#!/usr/bin/env python
#coding: utf-8
author='yangyang'
import urllib2
import cookielib
import urllib
import base64
import time
import random

def s_email(data):
_user = "915615960@qq.com"
_pwd = "owqgcmnctkylbfjd"
_to = "yangyang@sigmatrix.cn"

msg = MIMEText("Test")
msg["Subject"] = data
msg["From"] = _user
msg["To"] = _to

try:
s = smtplib.SMTP_SSL("smtp.qq.com", 465)
s.login(_user, _pwd)
s.sendmail(_user, _to, msg.as_string())
s.quit()
except smtplib.SMTPException,e:
print "Falied,%s"%e

def logout(logout_url):

time.sleep(random.randint(0,60*10))

opener,postData = check(url,user,paw)

logout = urllib2.Request(logout_url, postData)

opener.open(logout)

str='Sign logout . . . time:%s' % time.strftime('%H:%M')
s_email(str)

def login(login_url):

time.sleep(random.randint(0, 60 * 10))

opener,postData = check(url,user,paw)

login = urllib2.Request(login_url, postData)

opener.open(login)

str='Sign login . . . time:%s' % time.strftime('%H:%M')
s_email(str)

user = 'user'
paws = 'password'
paw = base64.b64encode(paws)
url = 'http://ipaddress/logincheck.php'
def check(url,user,paw):

parm = {

'UNAME':user,

'PASSWORD':paw,

'encode_type':'1',

'submit':'登 录'

}
postData = urllib.urlencode(parm)
cookieJar = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar))
req = urllib2.Request(url, postData)
req.add_header("User-Agent","Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36")
opener.open(req)
return opener,postData
login_url = 'http://ipaddress/general/attendance/personal/duty/submit.php?REGISTER_TYPE=1'
logout_url = 'http://ipaddress/general/attendance/personal/duty/submit.php?REGISTER_TYPE=2'
while True:

logout_date = '18:00'

login_date = '08:25'

wday = int(time.strftime('%w'))

check_date = time.strftime('%H:%M')

if 0 < wday <= 5:

if login_date == check_date:

login(login_url)

elif logout_date == check_date:

logout(logout_url)

time.sleep(50)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 自动打卡