aboutsummaryrefslogtreecommitdiffstats
path: root/mitmproxy/docs/scripting/libmproxy.rst
blob: 92fa5277f02dce33bf30da9ab9d66e9123ac2ef7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
.. _libmproxy:

libmproxy
=========

.. note::

    We strongly encourage you to use :ref:`inlinescripts` rather than libmproxy.
        - Inline Scripts are equally powerful and provide an easier syntax.
        - Most examples are written as inline scripts.
        - Multiple inline scripts can be used together.
        - Inline Scripts can either be executed headless with mitmdump or within the mitmproxy UI.


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.


.. literalinclude:: ../../examples/stickycookies
   :caption: examples/stickycookies
   :language: python