#!/usr/bin/python
#encoding:utf-8
##实现网页的登陆检查
import HTMLParser
import urlparse
import cookielib
import string
import urllib
import urllib2
import string
import re
from jpype import *
from sms import Sms,Sms2
import os.path,sys
from django.core.management import setup_environ
ROOT_PATH = os.path.split(os.path.abspath(os.path.dirname(__file__)))
sys.path.insert(0,ROOT_PATH[0])
import settings
set = os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings")
ROOT_PATH = os.path.abspath(os.path.dirname(__file__)) class CheckWeb:
def CheckAnalytics(self):
try:
hosturl = 'https://****************'//链接地址都要用浏览器分析post数据
posturl = 'https://*****************'
#h = urllib2.urlopen(hosturl)
postData = {'email' : '*********','password' : '**************'}
postData = urllib.urlencode(postData)
request = urllib2.Request(posturl, postData)
response = urllib2.urlopen(request)
text1 = response.read()
return text1
except:
text1 = 'error'
return text1
def CheckAppcpa(self):
try:
#hosturl = 'http://www.****.com'
posturl = 'http://www.****.com'//浏览器分析
cj = cookielib.LWPCookieJar()//带cookie,这样登陆后可以实现随意跳转
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.1; rv:25.0) Gecko/20100101 Firefox/25.0','Referer' : 'http://www.appcpa.co/appcpaLogin/login.jsp'}
postData = {'type' : '','email' : '****@yahoo.com','password' : '*****','checked' : 'false','tempppp' : '0.8753980695792317'}//postdata要浏览器分析出来
postData = urllib.urlencode(postData)
request = urllib2.Request(posturl, postData, headers)
response = urllib2.urlopen(request)
text2 = response.read()
return text2
except:
text2 = 'error'
return text2
def CheckGame(self):
#hosturl = 'http://www.*****.com/'
try:
posturl = 'http://www.***.com'
cj = cookielib.LWPCookieJar()
cookie_support = urllib2.HTTPCookieProcessor(cj)
opener = urllib2.build_opener(cookie_support, urllib2.HTTPHandler)
urllib2.install_opener(opener)
#h = urllib2.urlopen(hosturl)
postData = {'type' : '','email' : '****@********','password' : '*****','checked' : 'false','tempppp' : '0.8753980695792317'}
postData = urllib.urlencode(postData)
request = urllib2.Request(posturl, postData)
response = urllib2.urlopen(request)
text3 = response.read()
return text3
except:
text3 = 'error'
return text3
if __name__ == '__main__':
allweb = CheckWeb()
analy = allweb.CheckAnalytics()
if analy != '': //返回值
print 'no'
else:
print 'yes'
appcp = allweb.CheckAppcpa()
if appcp != 'success': //返回值
print 'no'
else:
print 'yes'
gam = allweb.CheckGame()
if gam != ''://返回值
print 'no'
else:
print 'yes' 火狐F12调试工具分析登陆过程和执行过程,实现浏览器模拟登陆网站,注意其实分析网站登陆过程很简单,在浏览器分析工具里可以抓取到数据传输过程,post的数据,我们仿造post数据,就可以实现成功登陆

python测试网页是否能正常登陆的更多相关文章

  1. python测试开发django-42.auth模块登陆认证

    前言 在开发一个网站时,经常会用到用户的注册和登陆相关的账号管理功能,auth模块是Django提供的标准权限管理系统,可以提供用户身份认证, 用户组和权限管理. 像用户注册.用户登录.用户认证.注销 ...

  2. Python下载网页的几种方法

    get和post方式总结 get方式:以URL字串本身传递数据参数,在服务器端可以从'QUERY_STRING'这个变量中直接读取,效率较高,但缺乏安全性,也无法来处理复杂的数据(只能是字符串,比如在 ...

  3. python抓网页数据【ref:http://www.1point3acres.com/bbs/thread-83337-1-1.html】

    前言:数据科学越来越火了,网页是数据很大的一个来源.最近很多人问怎么抓网页数据,据我所知,常见的编程语言(C++,java,python)都可以实现抓网页数据,甚至很多统计\计算的语言(R,Matla ...

  4. Protobuf for Python测试保存和读取文件

    安装pip, setuptools, and wheel 如果已经从python.org,安装啦Python 2 >=2.7.9 or Python 3 >=3.4 ,那么就已经有啦pip ...

  5. 关于python测试webservice接口的视频分享

    现在大公司非常流行用python做产品的测试框架,还有对于一些快速原型产品的开发也好,很好地支持OO编程,代码易读.Python的更新挺快的,尤其是第三方库. 对于测试人员,代码基础薄弱,用pytho ...

  6. 用 Python 测试框架简化测试

    用 Python 测试框架简化测试 摘要:本文将向您介绍了三种流行 Python 测试框架(zope.testing,py.test,nose)的基本特性,并讨论新一代的测试风格. 最近出现了行业级的 ...

  7. python测试框架总结

    最流行的有unittest和nose 其他的请看http://wiki.python.org/moin/PythonTes... 中Unit Testing Tools部分 py.test unitt ...

  8. Python编写网页爬虫爬取oj上的代码信息

    OJ升级,代码可能会丢失. 所以要事先备份. 一開始傻傻的复制粘贴, 后来实在不能忍, 得益于大潇的启示和聪神的原始代码, 网页爬虫走起! 已经有段时间没看Python, 这次网页爬虫的原始代码是 p ...

  9. 从零使用Python测试。Testing Using Python.

    0. 写在前面 本人使用Python测试已有多年,略有些皮毛经验.每次有新员工入职,都会从头教一遍如何入门上手使用Python进行测试.趁这段有空,整理成文档,也好方便后续新员工学习.文章如有不妥之处 ...

随机推荐

  1. corosync基本使用

    相关rpm: corosync-2.4.0-4.el6.x86_64.rpm The Corosync Cluster Engine and Application Programming Inter ...

  2. (11)oracle触发器

    触发器是特殊的存储过程. 每当一个特定的数据操作语句(inster,update,delete)在指定的表上触发时,Oracle自动的地执行触发器中定义的语句序列. create trigger 触发 ...

  3. Hadoop打包成jar包在集群上运行时出现的各种问题以及解决方案

    之前将eclipse下编好的mapreduce代码放到集群上面跑,发现速度很慢,namenode节点的cpu和内存使用率很低,datanode节点基本上处于没有运行的状态,然后通过查看hadoop-e ...

  4. 51nod 1420 数袋鼠好有趣【贪心】

    1420 数袋鼠好有趣 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  关注 有n只袋鼠.每只袋鼠的大小用一个整数表示. ...

  5. Python的并发并行[2] -> 队列[0] -> queue 模块

    queue 模块 / queue Module 1 常量 / Constants Pass 2 函数 / Function Pass 3 类 / Class 3.1 Queue类 类实例化:queue ...

  6. Python的支持工具[0] -> 环境包管理工具[0] -> pip

    pip包管理工具 / pip Package Management Tools pip是一个Python包管理工具,主要是用于安装PyPI上的软件包,可以替代easy_install工具. 1 pip ...

  7. FZU -2212 Super Mobile Charger(水题)

     Problem 2212 Super Mobile Charger Accept: 1033    Submit: 1944Time Limit: 1000 mSec    Memory Limit ...

  8. 状压DP【p1879】[USACO06NOV]玉米田Corn Fields

    Description 农场主John新买了一块长方形的新牧场,这块牧场被划分成M行N列(1 ≤ M ≤ 12; 1 ≤ N ≤ 12),每一格都是一块正方形的土地.John打算在牧场上的某几格里种上 ...

  9. 在CentOS 7上安装Node.js

    一.安装1.进入官网下载最新版本https://nodejs.org/en/ 选择下载后上传或直接使用wget下载 wget https://nodejs.org/dist/v8.11.2/node- ...

  10. [JSOI2012]玄武密码

    题目大意: 给定一个目标串$t(|t|\le10^7)$和$m(m\le10^5)$个模板串$s_i(|s_i|\le100)$,对于每个$s_i$,求$s_i$在$t$中出现过的最长前缀. 思路: ...