公司需要每天提交动态,其实类似于打卡,但是跟打卡的意义不同,不过无所谓了,其实跟打卡的道理是完全一样的。这个提交动态就是登录公司的项目管理系统,然后选择相应的项目,然后点击一个按钮提交一下即可。提交这个动态,可以一次提交两天的,也就是今天除了可以提交今天的以外,还可以把明天的提交了,这样明天就可以不提交了。当然,到了明天,可以再提交下一天的,因为当天的被前一天提交过了,当然也可以再提交一遍。如果忘记的话,公司会打电话或发短信提醒,有一次我就忘记了。后来为了省事,就写了一个Python的脚本来进行提交动态。
代码不长,直接贴代码吧!
import urllib
import urllib2
import cookielib
hosturl = 'http://xxxx/yyyy/login.jsp'
cj = cookielib.LWPCookieJar()
cookie_support = urllib2.HTTPCookieProcessor(cj)
opener = urllib2.build_opener(cookie_support, urllib2.HTTPHandler)
urllib2.install_opener(opener)
h = urllib2.urlopen(hosturl)
headers = {
'User-Agent' : 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0',
'Referer' : 'http://xxxx/yyyy/index.jsp'
}
postData = {
'login' : user,
'passwd' : passwd,
'Submit' : "提交"
}
postData = urllib.urlencode(postData)
request = urllib2.Request(hosturl, postData, headers)
response = urllib2.urlopen(request)
text = response.read()
day='http://xxxx/yyyy/RW/gcsxgdt2.jsp?RWDNO=111222&USERNO=111&DAYS=%BD%F1%C8%D5'
day1='http://xxxx/yyyy/RW/gcsxgdt2.jsp?RWDNO=111222&USERNO=111&DAYS=%C3%F7%C8%D5'
f = urllib2.Request(day)
response = urllib2.urlopen(f)
text = response.read()
print text.decode('GB18030')
print '=============================='
f = urllib2.Request(day1)
response = urllib2.urlopen(f)
text = response.read()
print text.decode('GB18030')
首先需要的是模拟登录,登录成功后,将上面两个连接直接访问一下即可。
在登录的部分,需要将hosturl修改一下,然后将headers和postData按照自己抓包(可以用抓包工具或者是firefox的插件)的数据进行修改即可。