kongjin 发表于 2014-04-15 09:57

菜鸟请教个python web的问题

现在需要登陆到一个需要鉴权的网站上去抓取一些数据,但是始终无法通过鉴权,大侠们帮我看看是怎么回事哈

import urllib2
import cookielib
import urllib

url = "登陆后的页面"
login_url = "登陆页面"
username = "xxx"
password = "xxx"
      

if __name__ == '__main__':
    h = urllib2.HTTPPasswordMgrWithDefaultRealm()
    h.add_password(None,
                   login_url,
                   username,
                   password)
   
    auth_handler=urllib2.HTTPBasicAuthHandler(h)
    cJar = cookielib.LWPCookieJar()
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cJar),auth_handler)
    urllib2.install_opener(opener)
    op=opener.open(url)
   
    data= op.read()
    print data
<!DOCTYPE HTML>
<!-- (c) 2008-2011 Coverity, Inc. All rights reserved worldwide. -->
<html class="no-js">
    <head>
      <title>Coverity&reg; Integrity Manager :: Sign in</title>
      <link rel="stylesheet" type="text/css" media="screen" href="/N717207117/bundles/simple.css" >


      <!-->
            <link href="/css/ie8.css" rel="stylesheet" type="text/css">
      <!-->

      <!-->
            <link href="/css/ie7.css" rel="stylesheet" type="text/css">
      <!-->
    </head>
    <body>
<div id="simple-block">
    <div id="logo">
      <img src="/images/COV_LogoBW_Login.png" />
      <h1>Integrity Manager</h1>
    </div>
    <div id="login" class="simple-panel">
      <form id="login-form" action="/j_spring_security_check" method="post">
                  <ul>
                <li>
                  <label for="j_username">Username</label>
                  <input id="username" type="text" id="username" name="j_username" value=""/>
                </li>
                <li>
                  <label for="j_password">Password</label>
                  <input type="password" id="password" name="j_password" autocomplete="false" />
                </li>
               
                <li>
                  <input id="remember-me" name="_spring_security_remember_me" type="checkbox"/>
                  <label for="remember-me">Remember me</label>
                </li>
                <li class="clear">
                  <input id="login-button" type="submit" value="Sign&nbsp;in" />
                </li>
            </ul>
      </form>
      
    </div>
</div>

    </body>
    <script type="text/javascript" src="/1418059021/bundles/resource_bundle.js" ></script>

    <script type="text/javascript" src="/377148175/bundles/login.js" ></script>

</html>
<!DOCTYPE HTML>
<!-- (c) 2008-2011 Coverity, Inc. All rights reserved worldwide. -->
<div id="simple-block">
    <div id="logo">
      <img src="/images/COV_LogoBW_Login.png" />
      <h1>Integrity Manager</h1>
    </div>
    <div id="login" class="simple-panel">
      <form id="login-form" action="/j_spring_security_check" method="post">
                  <ul>
                <li>
                  <label for="j_username">Username</label>
                  <input id="username" type="text" id="username" name="j_username" value=""/>
                </li>
                <li>
                  <label for="j_password">Password</label>
                  <input type="password" id="password" name="j_password" autocomplete="false" />
                </li>
               
                <li>
                  <input id="remember-me" name="_spring_security_remember_me" type="checkbox"/>
                  <label for="remember-me">Remember me</label>
                </li>
                <li class="clear">
                  <input id="login-button" type="submit" value="Sign&nbsp;in" />
                </li>
            </ul>
      </form>
      
    </div>
</div>
    </body>
    <script type="text/javascript" src="/1418059021/bundles/resource_bundle.js" ></script>

    <script type="text/javascript" src="/377148175/bundles/login.js" ></script>

</html>

timespace 发表于 2014-04-15 14:28

回复 1# kongjin
有用过任何一种抓包工具吧?主流平台都有免费软件。对比浏览器的请求和你构造的请求有什么不同,然后持续改进。这样贴出一堆,可能都没人仔细看。


   
页: [1]
查看完整版本: 菜鸟请教个python web的问题