首页 > 有什么办法可以查看urllib2.OpenerDirector实例的内容是否正确?

有什么办法可以查看urllib2.OpenerDirector实例的内容是否正确?

想用python发送一个post请求查询xxx网站的orders页面,需要先登录才行.
可是弄了好久都没有办法登录成功,想查看一下opener的内容是不是对的,有什么方法吗?
试过opener[data],opener(data)之类的都不行..

login_page = "http://xxx/admin/signin"


data = urllib.urlencode(
                    {
                       "admin_session[name]":12345,
                       "admin_session[password]":112233
                       }
                    )

cj = cookielib.CookieJar()

opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))

opener.addheaders = [('User-agent','Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0')]

opener.open(login_page,data)

op = opener.open('http://xxx/admin/orders')

#print opener(data)

我参考这个回答改了一下,改成了下面的代码,依然无法登陆成功:

#!/usr/bin/python
# -*- coding=utf-8 -*-
import urllib, urllib2, cookielib, sys

reload(sys)
sys.setdefaultencoding('utf-8')

__cookie = cookielib.CookieJar()
__req = urllib2.build_opener(urllib2.HTTPCookieProcessor(__cookie))
__req.addheaders = [
  ('Accept', 'application/javascript, */*;q=0.8'),
  ('User-Agent', 'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)')
]

urllib2.install_opener(__req)

headers = {
  'Content-Type': 'application/x-www-form-urlencoded',
  'X-Requested-With': 'XMLHttpRequest'
}

postData = {
  'admin_session[phone]' : '12345', ###你的用户名
  'admin_session[password]' : '123', ###你的密码
  'admin_session[remember_me]':'0',
}

request = urllib2.Request('http://xxx/admin/signin', urllib.urlencode(postData), headers)
response = urllib2.urlopen(request).read()
#输出登陆结果
print response

#请求登陆后可以访问的页面
request = urllib2.Request('http://xxx/admin/orders')
response = urllib2.urlopen(request).read()
#输出结果
#print response
【热门文章】
【热门文章】