<p dir="auto">This was originally brought up at <a href="https://github.com/kennethreitz/requests/issues/2061">https://github.com/kennethreitz/requests/issues/2061</a>. If you change <code class="notranslate">session.proxies</code> after calling <code class="notranslate">session.get</code> and call <code class="notranslate">session.get</code> again, it does not use the updated value. You have to do <code class="notranslate">session.get(proxies=session.proxies)</code>.</p>
<p dir="auto">Assumedly this is not difficult to fix, since setting the keyword argument does work. I didn't read the code, though.</p>
<p dir="auto"><code class="notranslate">Session.trust_env = False</code> turns off the checking of environment variables for options including proxy settings (<code class="notranslate">*_proxy</code>). But <code class="notranslate">urllib</code> picks up and uses these environment proxy settings anyway. <code class="notranslate">requests</code> should pass the <code class="notranslate">trust_env</code> setting on to <code class="notranslate">urllib</code>. (Although I'm not sure if <code class="notranslate">urllib</code> has a similar override.)</p>
<p dir="auto">(Proxy setting precedence should be sorted out here as well. They way it is now, environment proxy settings will interfere with (rather than be over-ridden by) the <code class="notranslate">proxies</code> argument in <code class="notranslate">Session.request</code> or <code class="notranslate">requests.request</code> calls and the <code class="notranslate">Session.proxies</code> config regardless of <code class="notranslate">trust_env</code> settings.)</p>