我正在尝试记录浏览器使用库苏格兰语发送的HTTP GET / POST请求。
我正在使用他们的示例代码:http : //darcs.idyll.org/~t/projects/scotch/doc/recipes.html#id2
import scotch.proxy
app = scotch.proxy.ProxyApp()
import scotch.recorder
recorder = scotch.recorder.Recorder(app, verbosity=1)
try:
from wsgiref.simple_server import WSGIServer, WSGIRequestHandler
server_address = ('', 8000)
httpd = WSGIServer(server_address, WSGIRequestHandler)
httpd.set_app(app)
while 1:
httpd.handle_request()
finally:
from cPickle import dump
outfp = open('recording.pickle', 'w')
dump(recorder.record_holder, outfp)
outfp.close()
print 'saved %d records' % (len(recorder.record_holder))
因此,我运行了上面的代码,转到google chrome,并访问了一些站点以查看是否会被记录下来。
但是,我看不到代码应如何终止。似乎必须在httpd.handle_request()中出错才能终止代码。
我尝试了变种代码,删除了try和final语法,并更改了while条件,以使循环运行30秒。但是,这似乎也永远存在。
关于如何使它正常工作的任何想法?我也愿意使用其他可用的python库进行我想做的事情:记录浏览器的GET / POST请求(包括登录名),然后在python中重播此请求。
相关分类