我希望能够将代理服务器与Azure Python SDK NetworkManagementClient (NMC)一起使用。我看到NMC具有类型_clientmsrest.service_client属性,其中包括类型configNetworkManagementClientConfiguration属性,该属性继承自AzureConfiguration的属性,该属性本身具有类型msrest.pipeline.ClientProxies的代理属性。

鉴于以上所述,似乎可以配置代理,但是我不了解设置代理的正确方法。

最佳答案

首先,msrest正在使用请求,因此我假设您阅读了proxies documentation of requests。还要注意,requests.Session对象具有一个trust_env属性,默认情况下该属性为True以读取某些环境变量,例如HTTP_PROXY

客户端的配置具有proxies属性,就像您提到的ClientProxies类一样。此类本身具有proxies dict属性,并具有要在此dict中添加的add方法。此类还具有use_env_settings布尔属性。

假设您有一个clientNetworkManagementClient变量实例,那么您可以:


只需使用HTTP_PROXY / HTTPS_PROXY。请注意,您可以使用禁用环境变量

client.config.proxies.use_env_settings = False

这只是请求trust_env的别名。
定义自己的代理:

client.config.proxies.add('http', 'http://example.org:8080')

该通话实际上相当于

session.get(url,proxies={'http': 'http://example.org:8080'})


(我在MS拥有msrest)

关于python - 如何在Azure Python SDK中为NetworkManagementClient设置 session 代理?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45422123/

10-11 01:19