1
CDuXZMAPgHp1q9ew 2014-09-22 11:13:30 +08:00
试试这样? http://110.249.223.91/hbhb/(wyzkkr55fxit0o45yho2u5nv)/Default.aspx
我觉得应该保持session 不是很懂哦! |
2
janxin 2014-09-22 11:21:23 +08:00
cap_str识别出来没有用吧?
|
4
whywhywhy 2014-09-22 11:33:20 +08:00
正常情况下,只要带着正确的SessionId去请求验证码,以及提交,就不会有问题。(同一个SessionId请求多次验证码。以最后一次为准)
|
5
no13bus OP @janxin
图片里面是我的抓包记录。图片里面可以看到登录页面打开之后,验证码的网址 http://110.249.223.91/hbhb/CheckCode.aspx 也随后请求了,代码里面我模拟了请求http://110.249.223.91/hbhb/default.aspx 是不是说我后面再次模拟请求验证码的地址的时候,其实是第二次点击了验证码地址? |
6
1130335361 2014-09-22 11:52:27 +08:00
'txtCheckCode':cap_str
|
7
no13bus OP @whywhywhy 嗯。那你的意思是说我的那个代码没啥问题?可是我执行的时候 最后的result结果并不是登录之后的页面。我再次使用mysession.get('http://110.249.223.91/hbhb/Main.aspx') 返回的是500错误。这说明我并没有登录进去。我使用chrome的一个插件postman测试的时候也是没有登录进去。
|
8
no13bus OP @1130335361 修改了。但是还是登录不进去。
|
9
mhycy 2014-09-22 11:56:47 +08:00
检查是否存在JS添加/修改参数的情况
一般验证码是结合Cookie/Session做标记的吧? |
10
mornlight 2014-09-22 11:56:50 +08:00
@no13bus 不会啊,你抓包时有这个请求是因为浏览器会自动加载验证码,程序里你只获取Default.aspx的话默认不会去加载其他东西的。
你先试试手动请求最新的验证码,然后把验证码填进去再 模拟登录看看,是不是其他部分有问题。 |
11
mhycy 2014-09-22 12:07:39 +08:00
ibtnlogin.y
ibtnlogin.x 这个参数每次请求都不一样 检查一下 |
12
CDuXZMAPgHp1q9ew 2014-09-22 12:25:12 +08:00
@no13bus session
|
17
janxin 2014-09-22 13:26:49 +08:00 1
@no13bus 'Cookie':'ASP.NET_SessionId=zybypfvmlkof0f55rrtprvb3',你cookies写死了
|
18
no13bus OP @janxin 直接把他删除了。就好了。登录上去了。忘了requests.Session是自动保持cookie状态的,header不用另加cookie参数
|
19
pc10201 2014-09-22 13:57:13 +08:00
这种情况用浏览器模拟是最好的办法~
|
20
imn1 2014-09-22 14:24:36 +08:00
凡是需要session的进程,需要先get一次url获取cookies,其中至少需要得到session-id的相关项,然后后续的请求/post都应该附带这个cookies发送出去
|
21
no13bus OP @imn1 嗯。多谢。mysession = requests.Session()
url = 'http://110.249.223.91/hbhb/Default.aspx' r = mysession.get(url,timeout=60*4) 这个就是了。requests的session方法就可以保持session的状态。很好用。 |
23
ld0891 2014-09-22 15:48:36 +08:00
调HTTP最好用Firefox,因为Chrome一些字段有限制没法自定义。
记得Postman要用个代理才能修改限制字段。 |
25
ld0891 2014-09-22 20:08:18 +08:00
@no13bus 就是HTTP报文头有些字段没法修改,比如Host,Referer啥的。
具体参见http://www.getpostman.com/docs/requests,里面Headers有详解。 |
26
no13bus OP @ld0891 哦。我这里能改。你说的那个我之前就下载过。http://blog.getpostman.com/wp-content/uploads/2014/02/Postman_-_v0_9_5_and_Airmail.png
这个东西我有的。多谢了。下载了之后 就能修改了 |