如何解决使用O365库访问Sharepoint网站时出现间歇性代理错误
我目前正在通过Docker容器中的Airflow Scheduler使用O365库。 该库在Airflow Docker容器外对我来说运行良好,但是在Airflow内,我会遇到间歇性的代理错误,尤其是当我同时或彼此之间以非常短的间隔访问API时, 例如在顺序或同时运行不同笔记本时。但是,有时如果我将脚本运行空间移开,它确实可以工作。
我正在通过具有Sites.ReadWriteall权限的Azure AD应用程序使用API。
我正在使用O365库的2.0.11版本。
我正在使用“客户凭证”授予类型和“帐户”方法。
from O365 import Account
credentials = ('my_client_id','my_client_secret')
# the default protocol will be Microsoft Graph
account = Account(credentials,auth_flow_type='credentials',tenant_id='my-tenant-id')
if account.authenticate():
print('Authenticated!')
我的代理服务器应该可以正常工作,因为我仍然偶尔可以访问Sharepoint网站。
谢谢
ConnectionRefusedError Traceback (most recent call last)
/usr/local/lib/python3.7/site-packages/urllib3/connection.py in _new_conn(self)
159 conn = connection.create_connection(
--> 160 (self._dns_host,self.port),self.timeout,**extra_kw
161 )
/usr/local/lib/python3.7/site-packages/urllib3/util/connection.py in create_connection(address,timeout,source_address,socket_options)
83 if err is not None:
---> 84 raise err
85
/usr/local/lib/python3.7/site-packages/urllib3/util/connection.py in create_connection(address,socket_options)
73 sock.bind(source_address)
---> 74 sock.connect(sa)
75 return sock
ConnectionRefusedError: [Errno 111] Connection refused
During handling of the above exception,another exception occurred:
NewConnectionError Traceback (most recent call last)
/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py in urlopen(self,method,url,body,headers,retries,redirect,assert_same_host,pool_timeout,release_conn,chunked,body_pos,**response_kw)
666 if is_new_proxy_conn:
--> 667 self._prepare_proxy(conn)
668
/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py in _prepare_proxy(self,conn)
931 conn.set_tunnel(self._proxy_host,self.port,self.proxy_headers)
--> 932 conn.connect()
933
/usr/local/lib/python3.7/site-packages/urllib3/connection.py in connect(self)
308 # Add certificate verification
--> 309 conn = self._new_conn()
310 hostname = self.host
/usr/local/lib/python3.7/site-packages/urllib3/connection.py in _new_conn(self)
171 raise NewConnectionError(
--> 172 self,"Failed to establish a new connection: %s" % e
173 )
NewConnectionError: <urllib3.connection.HTTPSConnection object at >: Failed to establish a new connection: [Errno 111] Connection refused
During handling of the above exception,another exception occurred:
MaxRetryError Traceback (most recent call last)
/usr/local/lib/python3.7/site-packages/requests/adapters.py in send(self,request,stream,verify,cert,proxies)
448 retries=self.max_retries,--> 449 timeout=timeout
450 )
/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py in urlopen(self,**response_kw)
766 body_pos=body_pos,--> 767 **response_kw
768 )
/usr/local/lib/python3.7/site-packages/urllib3/connectionpool.py in urlopen(self,**response_kw)
726 retries = retries.increment(
--> 727 method,error=e,_pool=self,_stacktrace=sys.exc_info()[2]
728 )
/usr/local/lib/python3.7/site-packages/urllib3/util/retry.py in increment(self,response,error,_pool,_stacktrace)
438 if new_retry.is_exhausted():
--> 439 raise MaxRetryError(_pool,error or ResponseError(cause))
440
MaxRetryError: HTTPSConnectionPool(host='graph.microsoft.com',port=443): Max retries exceeded with url: (Caused by ProxyError('Cannot connect to proxy.',NewConnectionError('<urllib3.connection.HTTPSConnection object at >: Failed to establish a new connection: [Errno 111] Connection refused')))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。