aboutsummaryrefslogtreecommitdiffstats
path: root/doc-src/scripting/libmproxy.html
blob: db58f7e0068aafb5a5ee6c5bd726f5fcbea4e780 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<div class="well">
    <strong>Heads up!</strong> We strongly encourage you to use <a href="@!urlTo("scripting/inlinescripts.html")!@">inline scripts</a> rather than libmproxy
    directly.<br><br>
    <ul>
        <li>Inline Scripts are equally powerful and provide an easier syntax.</li>
        <li>Most examples are written as inline scripts.</li>
        <li>Multiple inline scripts can be combined and used together.</li>
        <li>Inline Scripts can either be executed headless with mitmdump or within the mitmproxy UI.</li>
    </ul>
</div>

All of mitmproxy's basic functionality is exposed through the __libmproxy__
library. The example below shows a simple implementation of the "sticky cookie"
functionality included in the interactive mitmproxy program. Traffic is
monitored for __cookie__ and __set-cookie__ headers, and requests are rewritten
to include a previously seen cookie if they don't already have one. In effect,
this lets you log in to a site using your browser, and then make subsequent
requests using a tool like __curl__, which will then seem to be part of the
authenticated session.

$!example("examples/stickycookies")!$