Python: urllib/urllib2/httplib confusion

后端 未结 8 1851
长情又很酷
长情又很酷 2020-12-04 07:01

I\'m trying to test the functionality of a web app by scripting a login sequence in Python, but I\'m having some troubles.

Here\'s what I need to do:

  1. D
8条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-12-04 07:11

    Focus on urllib2 for this, it works quite well. Don't mess with httplib, it's not the top-level API.

    What you're noting is that urllib2 doesn't follow the redirect.

    You need to fold in an instance of HTTPRedirectHandler that will catch and follow the redirects.

    Further, you may want to subclass the default HTTPRedirectHandler to capture information that you'll then check as part of your unit testing.

    cookie_handler= urllib2.HTTPCookieProcessor( self.cookies )
    redirect_handler= HTTPRedirectHandler()
    opener = urllib2.build_opener(redirect_handler,cookie_handler)
    

    You can then use this opener object to POST and GET, handling redirects and cookies properly.

    You may want to add your own subclass of HTTPHandler to capture and log various error codes, also.

提交回复
热议问题