设为首页 收藏本站
查看: 4692|回复: 6

[求助] python模拟登录带windows安全窗口网站

[复制链接]
累计签到:2105 天
连续签到:1 天
发表于 2016-2-27 13:21:21 | 显示全部楼层 |阅读模式
想使用python脚本来模拟登录,登录时需要输入windows安全窗口的用户名和密码。

我有用户名和密码,求解,如何通过python来模拟输入用户名和密码,并登录网站。
1397179397_426306.jpg


网站WEB.CONFIG中配置:

    <authorization>      <deny users="?"/>    </authorization>







运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-183508-1-1.html 上篇帖子: python:使用ftplib编写FTP客户端 下篇帖子: Python Tab自动补全 windows python 用户名 网站 密码
累计签到:30 天
连续签到:1 天
发表于 2016-2-29 10:55:47 | 显示全部楼层
本帖最后由 1307077801 于 2016-2-29 14:30 编辑

#!/usr/bin/python
#-*-coding:utf-8-*-

import urllib2

#登录的用户名和密码
username = "test"
password = "test"
url="http://192.168.209.200/"

def Func(url, username, password):
    try:
        # 创建一个密码管理者  
        password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()  
        # 添加用户名和密码  
        password_mgr.add_password(None, url, username, password)  
        # 创建了一个新的handler  
        handler = urllib2.HTTPBasicAuthHandler(password_mgr)  
        # 创建 "opener"
        opener = urllib2.build_opener(handler)  
        # 使用 opener 获取一个URL  
        opener.open(url)  
        # 安装 opener.  
        urllib2.install_opener(opener)  
        #urllib2.urlopen 使用上面的opener.  
        ret = urllib2.urlopen(url)
        return ret.read()
    except urllib2.HTTPError, e:
        if e.code == 401:
           return "authorization failed"
        else:
            raise e
    except:
        return None

print Func(url, username, password)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

累计签到:2105 天
连续签到:1 天
 楼主| 发表于 2016-2-29 11:17:55 | 显示全部楼层
1307077801 发表于 2016-2-29 10:55
#!/usr/bin/python
#-*-coding:utf-8-*-


我改了用户名、密码和URL,发现还有问题,报错信息如下:
(注:windows安全是域账号,会不会是这个问题有影响?我在用户名前加和没加 域名\test都报同样错误)

E:\py>python pyweb_sps2.py
Traceback (most recent call last):
  File "pyweb_sps2.py", line 36, in <module>
    print Func(url, username, password)
  File "pyweb_sps2.py", line 21, in Func
    opener.open(url)
  File "C:\Python27\lib\urllib2.py", line 437, in open
    response = meth(req, response)
  File "C:\Python27\lib\urllib2.py", line 550, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\Python27\lib\urllib2.py", line 475, in error
    return self._call_chain(*args)
  File "C:\Python27\lib\urllib2.py", line 409, in _call_chain
    result = func(*args)
  File "C:\Python27\lib\urllib2.py", line 558, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 401: Unauthorized



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

累计签到:30 天
连续签到:1 天
发表于 2016-2-29 11:43:13 | 显示全部楼层
域的没测试过,报错是: HTTP Error 401: Unauthorized
应该是验证没通过

你看一下urllib2的文档吧,应该有办法可以解决的。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

累计签到:2105 天
连续签到:1 天
 楼主| 发表于 2016-2-29 14:13:25 | 显示全部楼层
1307077801 发表于 2016-2-29 11:43
域的没测试过,报错是: HTTP Error 401: Unauthorized
应该是验证没通过


网上看到一篇文章(地址:http://code.activestate.com/recipes/305288/),报错内容是
The authentication line is badly formed
请问有没有办法解决?





import urllib2, sys, re, base64from urlparse import urlparsetheurl = 'http://www.someserver.com/somepath/somepage.html'            # if you want to run this example you'll need to supply a protected page with your username and passwordusername = 'johnny'password = 'XXXXXX'            # a very bad passwordreq = urllib2.Request(theurl)try:    handle = urllib2.urlopen(req)except IOError, e:                  # here we are assuming we fail    passelse:                               # If we don't fail then the page isn't protected    print "This page isn't protected by authentication."    sys.exit(1)    if not hasattr(e, 'code') or e.code != 401:                 # we got an error - but not a 401 error    print "This page isn't protected by authentication."    print 'But we failed for another reason.'    sys.exit(1)authline = e.headers.get('www-authenticate', '')                # this gets the www-authenticat line from the headers - which has the authentication scheme and realm in itif not authline:    print 'A 401 error without an authentication response header - very weird.'    sys.exit(1)    authobj = re.compile(r'''(?:\s*www-authenticate\s*:)?\s*(\w*)\s+realm=['"](\w+)['"]''', re.IGNORECASE)          # this regular expression is used to extract scheme and realmmatchobj = authobj.match(authline)if not matchobj:                                        # if the authline isn't matched by the regular expression then something is wrong    print 'The authentication line is badly formed.'    sys.exit(1)scheme = matchobj.group(1) realm = matchobj.group(2)if scheme.lower() != 'basic':    print 'This example only works with BASIC authentication.'    sys.exit(1)base64string = base64.encodestring('%s:%s' % (username, password))[:-1]authheader =  "Basic %s" % base64stringreq.add_header("Authorization", authheader)try:    handle = urllib2.urlopen(req)except IOError, e:                  # here we shouldn't fail if the username/password is right    print "It looks like the username or password is wrong."    sys.exit(1)thepage = handle.read()    server = urlparse(theurl)[1].lower()            # server names are case insensitive, so we will convert to lower casetest = server.find(':')if test != -1: server = server[:test]           # remove the :port information if present, we're working on the principle that realm names per server are likely to be unique...passdict = {(server, realm) : authheader }      # now if we get another 401 we can test for an entry in passdict before having to ask the user for a username/passwordprint 'Done successfully - information now stored in passdict.'print 'The webpage is stored in thepage.'

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

累计签到:30 天
连续签到:1 天
发表于 2016-2-29 14:29:49 | 显示全部楼层
建议有环境还是改代码来调试吧。直接套代码不一定通用的。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2018-1-6 10:58:52 | 显示全部楼层
本帖最后由 qq258444257 于 2018-1-6 18:05 编辑
流星城市 发表于 2016-2-29 14:13
网上看到一篇文章(地址:http://code.activestate.com/recipes/305288/),报错内容是
The authenticat ...

请问问题解决了吗?

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表