Bypass proxy and capture webpage data from server using HTTP GET request using mitmproxy in Python
Question: I need to bypass proxy using mitmproxy and capture web data using GET request.
I am using Windows 7 and python 2.7 and mitmproxy python

I tried the following code :

    
    
    #!/usr/bin/env python
    """
        This example shows how to build a proxy based on mitmproxy's Flow
        primitives.
    
        Note that request and response messages are not automatically replied to,
        so we need to implement handlers to do this.
    """
    import sys,os
    import os
    import cStringIO
    import threading
    import thread
    import exceptions
    import gc
    from libmproxy import proxy, flow
    from libmproxy.proxy import config
    from libmproxy.proxy import server
    from libmproxy.proxy.server import ProxyServer
    from libmproxy.platform.windows import TransparentProxy
    
    
    class MyMaster(flow.FlowMaster):
        def run(self):
            try:
                flow.FlowMaster.run(self)
            except KeyboardInterrupt:
                self.shutdown()
    
        def responseheaders(context, flow):
            ct = flow.response.headers["Content-Type"]
            if ct and len(ct) > 0 and ct[0].startswith("application/"):
                flow.stream = True
                print "streaming"
    
        def handle_request(self, r):
            print r
            f = flow.FlowMaster.handle_request(self, r)
            if f:
                def run():
                    r.reply()
                    return f
                threading.Thread(target=run).start()
            else:
                return null
    
        def handle_response(self, r):
            f = flow.FlowMaster.handle_response(self, r)
            if f:
                def run():
                    r.reply()
                    return f
                threading.Thread(target=run).start()
            else:
                return null
    
    
    config = proxy.config.ProxyConfig(
        #ca_file=os.path.expanduser("~\.mitmproxy\mitmproxy-ca.pem")
        confdir=os.path.realpath('.\\conf')#, mode="transparent"
    )
    
    gc.enable()
    
    gc.set_threshold(250, 10, 10)
    
    print gc.get_threshold()
    
    state = flow.State()
    server = ProxyServer(config, 8080)
    #server = TransparentProxy()
    m = MyMaster(server, state)
    
    TransparentProxy().setup()
    
    #proxifier = TransparentProxy()
    
    #proxifier.start()
    
    print "got here"
    
    m.run();
    

But got some errors:

    
    
    confdir=os.path.realpath(r'C:\Users\rnive\Documents\certificates')      ``#,mode="transparent"
    TypeError: __init__() got an unexpected keyword argument 'confdir'
    

Any help on rectifying this error. Imported the mitmproxy CA by double
clicking the mitmproxy-ca-cert.p12 file and loaded mitm.it in chrome browser
and got something like :

If you can see this, traffic is not passing through mitmproxy.![enter image
description here](http://i.stack.imgur.com/oQtth.png)

Any help on how to congiure and how to rectify the TypeError !


Answer: Check the proxy settings in the browser. The error message '... traffic is not
passing through mitmproxy'should disappear. In Firefox go to
Options|Advanced|Network|Settings. See also
[here](http://www.wikihow.com/Enter-Proxy-Settings-in-Firefox).

