使用py2.7登陆和提交表单

__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后台的实现,所以也不知道怎么办了,不想在继续浪费时间,所以把不完整的过程发了上来,希望能给学习的的人一点帮助和提示,如果我的代码有问题,请留言回复,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值