Trend DSM V12 SAAS API 示例 "Failed to establish a new connection: [Errno 11001] getaddrinfo failed')': /api/policies"
Trend DSM V12 SAAS API example giving "Failed to establish a new connection: [Errno 11001] getaddrinfo failed')': /api/policies"
我正在尝试在趋势 v12 DSM SAAS 上设置反恶意软件电子邮件自定义,并正在尝试下面给出的 python 的 API 调用示例。
https://automation.deepsecurity.trendmicro.com/article/dsaas/send-request?platform=dsaas
但是我无法建立连接并且 运行 遇到连接问题并出现以下错误。
2019-11-12 10:24:24,653 警告重试(重试(总计=2,连接=None,读取=None,重定向=None, status=None)) 连接被 'NewConnectionError(' 中断后:无法建立新连接:[Errno 11001] getaddrinfo failed')': /api/policies
2019-11-12 10:24:24,655 警告重试(重试(总计=1,连接=None,读取=None,重定向=None,状态=None)) 'NewConnectionError(' 断开连接后:无法建立新连接:[Errno 11001] getaddrinfo 失败')':/api/policies
2019-11-12 10:24:24,656 警告重试(重试(总计=0,连接=None,读取=None,重定向=None,状态=None)) 'NewConnectionError(' 断开连接后:无法建立新连接:[Errno 11001] getaddrinfo 失败')':/api/policies
追溯(最近一次通话最后一次):
url“.trendmicro.com”在我使用的代理中被列入白名单。
r = s.get('https://app.deepsecurity.trendmicro.com') 也 returns 200 代码。
根据网络限制,我没有绕过代理的选项,这是通过代理发送流量所必须的。
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))
我是否需要进行一些其他设置才能建立连接。
请告诉我。
感谢您分享您的问题。我相信我有适合您的解决方案!
查看代码,我发现您正在使用 'requests' 库设置代理。然后,其余代码基于我们自动化中心的示例,该示例使用 Deep Security Python SDK 库。这意味着 SDK 代码发送的请求不是通过您定义的代理,这将解释您看到的错误消息。
就修复而言,我建议向配置对象添加代理。它会在主机行的正下方,所以代码看起来像:
configuration.host = 'https://app.deepsecurity.trendmicro.com/api'
configuration.proxy = 'http://myproxy:80'
请告诉我这是否适合您。如果是这样,您可以从文件中删除所有 'requests' 代码。
P.S。我在趋势科技的 Deep Security 研发部门工作。
我正在尝试在趋势 v12 DSM SAAS 上设置反恶意软件电子邮件自定义,并正在尝试下面给出的 python 的 API 调用示例。 https://automation.deepsecurity.trendmicro.com/article/dsaas/send-request?platform=dsaas
但是我无法建立连接并且 运行 遇到连接问题并出现以下错误。
2019-11-12 10:24:24,653 警告重试(重试(总计=2,连接=None,读取=None,重定向=None, status=None)) 连接被 'NewConnectionError(' 中断后:无法建立新连接:[Errno 11001] getaddrinfo failed')': /api/policies 2019-11-12 10:24:24,655 警告重试(重试(总计=1,连接=None,读取=None,重定向=None,状态=None)) 'NewConnectionError(' 断开连接后:无法建立新连接:[Errno 11001] getaddrinfo 失败')':/api/policies 2019-11-12 10:24:24,656 警告重试(重试(总计=0,连接=None,读取=None,重定向=None,状态=None)) 'NewConnectionError(' 断开连接后:无法建立新连接:[Errno 11001] getaddrinfo 失败')':/api/policies 追溯(最近一次通话最后一次):
url“.trendmicro.com”在我使用的代理中被列入白名单。 r = s.get('https://app.deepsecurity.trendmicro.com') 也 returns 200 代码。
根据网络限制,我没有绕过代理的选项,这是通过代理发送流量所必须的。
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))
我是否需要进行一些其他设置才能建立连接。 请告诉我。
感谢您分享您的问题。我相信我有适合您的解决方案!
查看代码,我发现您正在使用 'requests' 库设置代理。然后,其余代码基于我们自动化中心的示例,该示例使用 Deep Security Python SDK 库。这意味着 SDK 代码发送的请求不是通过您定义的代理,这将解释您看到的错误消息。
就修复而言,我建议向配置对象添加代理。它会在主机行的正下方,所以代码看起来像:
configuration.host = 'https://app.deepsecurity.trendmicro.com/api'
configuration.proxy = 'http://myproxy:80'
请告诉我这是否适合您。如果是这样,您可以从文件中删除所有 'requests' 代码。
P.S。我在趋势科技的 Deep Security 研发部门工作。