__author__ = 'Administrator'
import urllib2
import urllib
import cookielib
_g_url_login = "http://192.168.1.49:8080/xx.action"
_g_url_log = "http://192.168.1.49:8080/xx.action"
_g_user_name = "xx"
_g_user_pwd = "xx"
_g_cookie = None
def login():
try:
global _g_cookie
_g_cookie = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(_g_cookie), urllib2.HTTPHandler)
urllib2.install_opener(opener)
req = urllib2.Request(_g_url_login)
req.add_header("Content-Type", "application/x-www-form-urlencoded")
req.add_data("loginId={0}&password={1}".format(_g_user_name, _g_user_pwd))
result = urllib2.urlopen(req)
if result.read() == "0":
return True
else:
return False
except (urllib2.URLError, urllib2.HTTPError) as e:
print(e)
def log(project_id, work_type, work_time, content, work_date):
try:
dic = {
"logType": "{0}".format(0),
"dicID": "{0}".format(project_id),
"workContent": content,
"workType": "{0}".format(work_type),
"startTime": work_date,
"endTime": work_date,
"workTime": "{0}".format(work_time),
"finishStatus": "{0}".format(0),
"overwork": "{0}".format(0)}
req_data = urllib.urlencode(dic)
req = urllib2.Request(_g_url_log, req_data)
# req.add_header("Content-Type", "application/x-www-form-urlencoded")
result = urllib2.urlopen(req)
print(result.read())
except (urllib2.URLError, urllib2.HTTPError) as e:
print(e)
_g_project_id_tts = 96
_g_project_id_xx = 50
_g_project_id_ot = 20
_g_development = 1
_g_maintenance = 0
if login():
log(96, 1, 8, "xxx", "2015-2-16")
else:
print("login failed.")
上面主要有登陆使用了cookie过程,以及提交一个表单的过程。
使用的是py2.7,也就是官网的那个版本。
本人第一次写这个用py提交xx的东西,在代码中的URL是无效的,需替换为自己的URL。
------
这个过程,登陆是没有问题的。
但是我提交表单是有问题的,问题是:
HTTP Error 500: Internal Server Error
我不知道web后台的实现,所以也不知道怎么办了,不想在继续浪费时间,所以把不完整的过程发了上来,希望能给学习的的人一点帮助和提示,如果我的代码有问题,请留言回复,谢谢!