一尘不染

请求:如何禁用/绕过代理

python

我正在使用以下网址:

r = requests.get("http://myserver.com")

正如我在“ myserver.com”的“ access.log”中看到的那样,使用了客户端的系统代理。但是我想完全禁止使用代理requests


阅读 256

收藏
2020-12-20

共1个答案

一尘不染

我目前了解的 完全 禁用代理的唯一方法是:

  • 建立会议
  • 设置session.trust_envFalse
  • 使用该会话创建您的请求

    import requests

    session = requests.Session()
    session.trust_env = False

    response = session.get('http://www.codingdict.com’)

这是基于Lukasa的评论和的(受限)文档而得出的requests.Session.trust_env

注意: 设置trust_envFalse也会忽略以下内容:

  • 来自.netrc代码)的身份验证信息
  • REQUESTS_CA_BUNDLE或中定义的CA捆绑包CURL_CA_BUNDLE代码

但是,如果您只想禁用特定域的代理(如localhost),则可以使用NO_PROXY环境变量

import os
import requests

os.environ['NO_PROXY'] = 'stackoverflow.com'

response = requests.get('http://www.stackoverflow.com')
2020-12-20