首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >趋势DSM V12 SAAS示例给出“未能建立新连接:[Errno 11001] getaddrinfo failed‘):/ API /policies”

趋势DSM V12 SAAS示例给出“未能建立新连接:[Errno 11001] getaddrinfo failed‘):/ API /policies”
EN

Stack Overflow用户
提问于 2019-11-12 10:57:17
回答 1查看 117关注 0票数 0

我正在尝试在趋势v12 DSM上设置反alware电子邮件定制,并尝试下面给出的python调用示例。https://automation.deepsecurity.trendmicro.com/article/dsaas/send-request?platform=dsaas

然而,我无法建立连接,并遇到连接问题,并得到以下错误。

2019年-11-12 10:24:24,653警告重试(重试(total=2,connect=None,read=None,redirect=None,status=None)),在连接被“NewConnectionError(‘:未能建立新连接: Errno 11001 getaddrinfo Failed”)破坏之后: /api/policies 2019-11-11-12 10:24:24:24:24:24 655警告重试(重试(total=1,connect=None,read=None,redirect=None,status=None))在被'NewConnectionError(':未能建立新连接: Errno 11001 getaddrinfo失败’)中断后: /api/policies 2019-11-12 10:24:24656警告重试(重试(total=0,connect=None,read=None,redirect=None,status=None))( redirect=None,status=None))在连接被'NewConnectionError(':未能建立新连接: Errno 11001 getaddrinfo Failed‘)中断后: /api/policies跟踪(最近一次调用):

url ".trendmicro.com“是在我正在使用的代理中白色显示的。R= s.get('https://app.deepsecurity.trendmicro.com')也返回200个代码。

我没有选择绕过代理,因为根据网络限制,必须通过代理发送流量。

代码语言:javascript
代码运行次数:0
运行
复制
import deepsecurity as api
from deepsecurity.rest import ApiException as api_exception
import requests

api.Configuration.verify_ssl = False

s = requests.Session()
s.proxies = {
    "http": "http://myproxy:80",
    "https": "http://myproxy:80",
}

r = s.get('https://app.deepsecurity.trendmicro.com')

def get_policies_list(api, configuration, api_version, api_exception):
    """ Gets a list of policies on the Deep Security Manager

    :return: A PoliciesApi object that contains a list of policies.
    """

    try:
        # Create a PoliciesApi object
        policies_api = api.PoliciesApi(api.ApiClient(configuration))
        print('getting policy api configuration')
        # List policies using version v1 of the API
        policies_list = policies_api.list_policies(api_version)
        print('getting policy list')
        # View the list of policies
        return policies_list

    except api_exception as e:
        return "Exception: " + str(e)

if __name__ == '__main__':
    # Add Deep Security Manager host information to the api client configuration
    print ('first line')
    configuration = api.Configuration()
    configuration.host = 'https://app.deepsecurity.trendmicro.com/api'

    # Authentication
    configuration.api_key['api-secret-key'] = 'mysecretkey'

    # Version
    api_version = 'v1'
    print ('executing the api call')
    print(get_policies_list(api, configuration, api_version, api_exception))

是否有其他设置,我需要做,以建立连接。请让我知道。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-12 15:36:33

谢谢分享你的问题。我相信我有一个解决办法给你!

查看代码,我看到您正在使用'requests‘库设置代理。然后,其余代码基于自动化中心的一个示例,该示例使用了库。这意味着由SDK代码发送的请求没有经过您定义的代理程序,这将解释您正在看到的错误消息。

就修复而言,我建议在配置对象中添加一个代理。它就在主机行的下面,所以代码如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
configuration.host = 'https://app.deepsecurity.trendmicro.com/api'
configuration.proxy = 'http://myproxy:80'

如果这对你有用,请告诉我。如果是这样,您可以从文件中删除所有的“请求”代码。

我在的研发部门为趋势微公司工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58817229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档