我希望能够将代理服务器与Azure Python SDK NetworkManagementClient (NMC)
一起使用。我看到NMC
具有类型_client
的msrest.service_client
属性,其中包括类型config
的NetworkManagementClientConfiguration
属性,该属性继承自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
布尔属性。
假设您有一个client
的NetworkManagementClient
变量实例,那么您可以:
只需使用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/