我在某些Python代碼中使用requests
庫,並且我需要一些幫助來瀏覽公司代理服務器的黑暗水域。關閉請求庫中的代理
考慮下面的代碼:
response = requests.get(url, proxies={...})
所有好爲止。 requests
調用使用傳遞給它的代理。
在接下來的例子中,requests
使用在環境變量定義HTTPS_PROXY
代理HTTP_PROXY
和:(該proxies
參數默認爲無,其觸發它去,並期待在環境變量)
response = requests.get(url)
我想要做的事情是不同的。我想讓環境變量保持原樣,因爲它們對於我使用的其他應用程序是必需的。但我希望請求不要使用代理。我已經試過:
response = requests.get(url, proxies={})
但requests
仍熄滅,並獲取環境變量代理。我似乎無法阻止它這樣做,而不會取消設置我的環境變量。
任何想法?
爲什麼'NO_PROXY'有效?在內部,'requests'只是調用'urllib.getproxies()'(我通過源代碼挖來檢查這個),它只是尋找' _proxy'形式的環境變量。一個新的環境變量如何重寫這個看似暴力的搜索空間的環境變量? –
@AkshatMahajan:然後你錯過了'should_bypass_proxies()'調用。 –
不錯。接得好! –