python带cookie提交表单自动登录(转)
今天突然把博客给申请了,以前也想过的,奈于自己觉得水平还太低有点不好意思写博客,但是后来一想,自己的记录所学,加深印象,主要还是为了学习进步,不怕丢人!今天就稍微回顾一下这两天写的一段用python模拟浏览器登录自己学校官网的代码吧(多亏大神指导了)。

1 import urllib
2 import urllib2
3 import cookielib
4
5 login_url = "xxxxxxxxxxxxx"
6
7 cj = cookielib.CookieJar()#实例化对象,创建cookie容器cj
8 opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))#通过build_opener方法构造一个包含把cookie传给HTTP...构造方法的类实例的URL访问器
9
10 contens = opener.open(login_url).read()#这里是因为学校官网提交的表单中需要有一个lt参数,而它是变化的所以先获取解析一下得到它
11 lt = re.findall('<input type="hidden" name="lt" value="(.*)" />',contents1)
12 #好了现在把需要POST的数据都放到form_info中,里面的参数要具体分析!查看页面HTML的表单!
13 form_info={"username":"xx","password":"xx","lt":lt[0],"_eventId":"submit","errors":"0"}
14
15 postData = urllib.urlencode(form_info)
17 opener.addheaders=[("User-Agent","xxxx"),]#加个浏览器的请求头信息,模拟浏览器访问
18
19 resp = opener.open(login_url,postData)#开始登录
20
21 print resp.read()
22
23 #一般情况下到这里就可以继续用构造好的opener继续访问里面的页面了,可能里面有一些特别的页面会访问不了,具体问题还需具体分析

http://www.cnblogs.com/inva/p/4200189.html
python带cookie提交表单自动登录(转)的更多相关文章
- python带cookie提交表单自动登录
import urllib import urllib2 import cookielib login_url = "xxxxxxxxxxxxx" cj = cookielib.C ...
- java 传入用户名和密码并自动提交表单实现登录到其他系统
不用单点登录,模拟远程项目的登录页面表单,在访问这个页面的时候自动提交表单到此项目的登录action,就可以实现登录到其他系统. ssh框架项目 1.以下是本地系统的action代码: import ...
- 【转】JSP提交表单
设计表单页面,它是静态页面,使用HTML编写,而且使用了JavaScript脚本语言来验证填写表单数据,表单页面为form.htm,代码如下: <html><head>< ...
- python测试开发django-25.表单提交之post注册案例
前言 一个网站上新用户注册,会写个注册页面,如果用django写个注册页面的流程呢? 本篇以post请求示例,从html页面上输入用户注册信息,提交到后台处理数据,然后传参数据到User数据库表里面 ...
- Python爬虫笔记【一】模拟用户访问之提交表单登入—第二次(7)
在第一次登入时遇到这个问题,页面验证码与下载下来需要识别的验证码不同的问题,从网上查寻说是叫验证码同步问题.发现是用cookie解决的,那次cookie介绍到通过cookie就可以实现时间戳同步问题, ...
- form表单下的button按钮会自动提交表单的问题
form表单下的button按钮会自动提交表单的问题 2017年01月05日 18:02:44 蓝色水 阅读数:18012更多 个人分类: asp.net form表单下的按钮在没有指定type类 ...
- 按下enter键后表单自动提交问题
在HTML的form表单里,按下enter键之后,默认情况下表单会自动提交. 在公司一个项目里,按下enter键自动提交表单的查询结果与按下搜索框的搜索结果页面显示不一样,按下搜索按钮之后是通过Aja ...
- Ajax实现提交表单时验证码自动验证(原创自Zjmainstay)
本文通过源码展示如何实现表单提交前,验证码先检测正确性,不正确则不提交表单,更新验证码. 1.前端代码 index.html <!DOCTYPE html> <html> &l ...
- 简单Demo的用户登录JSP界面IE、Firefox(chrome) Enter 键提交表单
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
随机推荐
- hdu1506(dp减少重复计算)
可以算出以第i个值为高度的矩形可以向左延伸left[i],向右延伸right[i]的长度 那么答案便是 (left[i] + right[i] + 1) * a[i] 的最大值 关键left[i] 和 ...
- 无法打开登录所请求的数据库 "ASPState"。登录失败。 用户 'NT AUTHORITY/SYSTEM' 登录失败。
原文:无法打开登录所请求的数据库 "ASPState".登录失败. 用户 'NT AUTHORITY/SYSTEM' 登录失败. 无法打开登录 'ASPState' 中请求的数据库 ...
- Vs2012在Linux应用程序开发(3):加入新平台hi3516
下面我们将VS2012添加一个新的平台支持,由于近来与哈斯hi3516.就选它吧! 1.1 复制平台文件 原来一直认为要让VS支持一个新的平台须要编写代码,某天在看MSBUILD文件夹的时候突 ...
- wireshark教程
Wireshark世界上最流行的网络分析工具. 这个强大的工具能够捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息.与非常多其它网络工具一样.Wireshark也使用pcap network ...
- 4pdf
http://www.cnblogs.com/haocool/archive/2013/03/16/2962547.html
- Swift语言教程中文文档
Swift语言教程中文文档 Swift语言教程(一)基础数据类型 Swift语言教程(二)基础数据类型 Swift语言教程(三)集合类型 Swift语言教程(四) 集合类型 Swift语言教程(五)控 ...
- ubuntu中KDE与GNOME安装切换
转载:http://apps.hi.baidu.com/share/detail/18919303 1.在Ubuntu中安装KDE桌面命令 sudo apt-get install kUbuntu-d ...
- AIX 7.1 install python
周围环境AIX7.1 设备python-2.6.2 因为互联网是非常多的安装文档.而且也没有细挑的版本号.因为我觉得python2.6 可能相对保守一些,至少之前用到的版本号是这个.所以此处依旧 ...
- Android程序猿学习路径
而一些工作,而不仅仅是通信毕业生,很多学生没有工作或熟练Android工作人员指导的情况下,,如何学习Android而提高Android更多关注的水平. 享: 1.Android知识 1.1.站点资源 ...
- C# WinForm多线程(一)Thread类库
Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程.什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指包括 ...