In urllib3 POST is not allowed as a retried method by default (since it can cause multiple inserts). You can force it though:
Retry(total=3, allowed_methods=frozenset(['GET', 'POST']))
See https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html#urllib3.util.retry.Retry