python使用javascript提交通过POST发送数据
python send data through POST with javascript submit
我从python脚本提交表单的问题。。这是FORM
<form id="userLogin" autocomplete="OFF" action="LoginPage.aspx" method="post" name="userLogin"
<input type="text" class="txt" id="Userid" name="Userid" maxlength="12">
<input type="password" class="txtpwdbox" id="Password" name="Password" readonly="" maxlength="10">
<img style="CURSOR:pointer" onclick="userIdValidation();" src="/ENG/images/but-login-en.gif" id="idSubmit">
从上面的代码中,我们可以注意到最后一行是关于提交的,但如何在python中完成?
这是我的python代码
import urllib,urllib2,cookielib
login_data = urllib.urlencode({'Userid':'test','Password':'123456'})
cj = cookielib.CookieJar()
op = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
c = op = urllib2.urlopen('https://www.example.com/Login/LoginPage.aspx', login_data)
print c.read()
但它没有提交。。如果你在userIdValidation()
函数中徘徊,基本上是检查用户是否填写了用户名和密码字段,然后执行命令document.userLogin.submit();
也许你可以尝试机械化(PyPI页面)。不确定它是否处理Javascript,但它在页面之间导航和提交表单方面帮了我很多忙。此外,您还可以取消cookie管理。
我猜您是从.net框架实现站点获取该页面的。(此处为"LoginPage.aspx")
有很多网站的.net框架都启用了PageView属性,这是维护页面状态的方法之一,但它会附加一些数据请求启动
所以,如果你想发布一个请求,不要忘记PageView或其他.net框架数据。
您可以在上面尝试但当你通过建立一个开启器"操作"时
op=urlib2.build_opener(urlib2.HTTPCookieProcessor(cj))
为什么使用
urllib2.ullopen('https://www.example.com/Login/LoginPage.aspx',login_data)
这无法通过cookie
相关文章:
- 下载使用POST数据动态生成的文件
- 如何从HTTP上下文对象中获取Post数据
- 可以't通过Angular$resource POST数据
- 如何在IE CORS中发送POST数据(使用XDomainRequest)
- Angular js,在选择元素上,我想 POST 数据以将其保存在数据库中,然后我想使用 PUT 更新它而无需重新加载
- 追加 POST 数据 javascript
- Angular 中的 HTTP 服务将 POST 数据作为请求正文的键发送,没有值
- 从chrome扩展创建一个包含POST数据的链接
- 如何使用AJAX打印PHP POST数据?(没有jQuery)
- Javascript POST数据进入GET PHP数组
- PHP没有从$.ajax获取POST数据
- 为什么cgi-POST数据被篡改和截断
- Ajax XML的POST数据值发生更改
- POST数据没有'不包含任何表单数据
- firebug:如何在firebug控制台中发送POST数据
- IE11不发送HTTP POST数据
- 使用POST数据引用jsfiddle.net
- 保存每个POST数据的Chrome扩展
- 如何将PHP Post数据获取到jquery ajax请求中
- 如何在选择Select Box值时将参数作为POST数据传递,这将重新加载同一页面