PythonChallenge 挑战之路 Level-17

这一关很是麻烦……

首先通过cookies的提示,需要查看cookies信息,然后知道需要回到第四关,然后用busynothing 替代 nothing,重复第四关的遍历,不过这次需要收集的是每一个页面的cookies信息,然后利用bz2处理这些信息,然后再回到第13关打电话给mozart的老爹…用获得的信息修改新页面的cookies,最后得到谜底,真是太复杂了……

import re,bz2,urllib2,urllib,cookielib
info = []
cookies = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookies))
urllib2.install_opener(opener)

nothing = str(12345)
for i in range(400):
    path = 'http://www.pythonchallenge.com/pc/def/linkedlist.php?busynothing='
    text = urllib.urlopen(path+nothing).read()  
    r = urllib2.Request(path+nothing) 
    yy = str(urllib2.urlopen(r).info())
    info.append((re.findall('info=(.{0,4});' , yy)))
    a = re.findall(r'(\d+)',text)
    #print i, text ,info
    if a == []:
        break
    nothing = str(a[len(a)-1])

s = ''.join([k for i in info for k in i])
print s
print bz2.decompress(urllib.unquote_plus(s))

import xmlrpclib
server = xmlrpclib.Server(r'http://www.pythonchallenge.com/pc/phonebook.php')
print server.system.listMethods()
print server.system.methodHelp('phone')
print server.phone('Leopold')

from urllib2 import Request,urlopen
from urllib import quote_plus
info='the flowers are on their way'
url='http://www.pythonchallenge.com/pc/stuff/violin.php'
req = Request(url, headers={'Cookie': 'info=' + quote_plus(info)})
print urlopen(req).read()
最后,结果是oh well, don't you dare to forget the balloons. 所以谜底就是balloons

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值