PYthon 模拟登录遇到问题,请高手指点!!!!

wintd 发布于 2015/05/11 11:35
阅读 340
收藏 0
项目说明:本人由于工作需要,用PYTHON,模拟登陆系统

请问我的postdata应该怎样写,请各位指教!

貌似登录不上。

详细如下:

首次登陆,页面地址,http://1**.1**.**.**:8080/*****/

经过抓包,情况如下:

请求地址
http://1**.1**.**.**:8080/*****/Login.do

请求头:

Host: 1**.1**.**.**:8080
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:37.0) Gecko/20100101 Firefox/37.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
X-Requested-With: XMLHttpRequest
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://1**.1**.**.**:8080/*****/
Content-Length: 83
Cookie: JSESSIONID=AA803888B53392C2746A7C2AA836F254
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache

请求主体:

ReqPage=LOGINPAGE&ReqAction=REGISTER&txtXML=%7Bf_username%3A'52222'%2Cf_pwd%3A'252222'%7D

图片如下:

代码如下:

import urllib
import urllib2
import cookielib
 
filename = 'cookie.txt'
#声明一个MozillaCookieJar对象实例来保存cookie,之后写入文件
cookie = cookielib.MozillaCookieJar(filename)
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie))
postdata = urllib.urlencode({
          'ReqPage':'LOGINPAGE',
          'ReqAction':'REGISTER',
          'txtXML':'{f_username:'52222',f_pwd:'252222'}'
####            'f_username':'11',
####            'f_pwd':'11'
                 
        })
#登录系统的URL
loginUrl = 'http://1**.1**.**.**:8080/*****/Login.do'
#模拟登录,并把cookie保存到变量
result = opener.open(loginUrl,postdata)
#保存cookie到cookie.txt中
cookie.save(ignore_discard=True, ignore_expires=True)
#利用cookie请求访问另一个网址
gradeUrl = 'http://1**.1**.**.**:8080/*****/default.html'
#请求访问
result = opener.open(gradeUrl)

print result.read()

加载中
0
铂金胖子
铂金胖子
用requests
wintd
wintd
回复 @铂金胖子 : 谢谢,我中午看到你的回复后,下午自己试了试,有不懂的再向你请教
铂金胖子
铂金胖子
requests 是py的一个第三方库,做url模拟非常方便
wintd
wintd
兄弟,能讲的详细点吗
0
MrZQ
MrZQ

https://github.com/kennethreitz/requests

http://python-requests.org

返回顶部
顶部