我试图用库scotch记录浏览器发送的httpget/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))
所以我运行了上面的代码,访问了googlechrome,并访问了一些站点,看看是否会被记录下来。在
但是,我不认为代码应该如何终止。看来一定有个错误httpd.handle_请求()以终止代码。在
我尝试了一个variation of the code,删除了try and finally语法,并更改了while条件,以便循环运行30秒。然而,这似乎也将永远持续下去。在
有什么办法让它工作吗?我也愿意使用其他python库来实现我的目标:记录浏览器的GET/POST请求,包括登录,并在python中重放。在
谢谢。在
如果我错了,请更正我,但您试图通过设置本地代理来记录本地浏览器的活动。如果是这种情况,您的浏览器需要通过您的代理,以便代理服务器记录活动。在
您提供的代码将代理服务器设置为本地主机:8000,所以你需要告诉你的浏览器。实际设置取决于浏览器,我相信你可以很容易地在谷歌上找到它。在
当我要求检查代码是否正在运行时,我实际上是指您的本地代理是否接受来自浏览器的某种请求。你看到“保存的记录”打印出你的代码吗?在
相关问题 更多 >
编程相关推荐