gpt4 book ai didi

Python SSL 通信在读取时挂起,然后发出错误 54 - connection reset by peer

转载 作者:太空宇宙 更新时间:2023-11-03 12:10:17 25 4
gpt4 key购买 nike

我正在使用 Python/suds/python-ntlm 对 Microsoft CRM Web 服务进行 Web 服务调用,但我对该服务的调用在 SSL 读取时被阻止。 CRM 服务提供商同时提供测试和生产服务,我可以很好地联系测试服务(尽管它没有有用的数据)但主要服务只是阻塞。

这是我中断进程后的堆栈跟踪:

;; This buffer is for notes you don't want to save, and for Lisp evaluation.
;; If you want to create a file, visit that file with C-x C-f,
;; then enter the text in that file's own buffer.

INFO:root:Getting WSDL from file:///Users/crose/projects/aed/2366/crm/services/metadata.wsdl
DEBUG:suds.client:sending to (https://service.host/MSCrmServices/2007/MetadataService.asmx)
message:
<SOAP-ENV:Envelope xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://schemas.microsoft.com/crm/2007/WebServices" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<ns0:Body>
<ns1:Execute>
<ns1:Request xsi:type="ns1:RetrieveAttributeRequest">
<ns1:MetadataId>00000000-0000-0000-0000-000000000000</ns1:MetadataId>
<ns1:EntityLogicalName>opportunity</ns1:EntityLogicalName>
<ns1:LogicalName>new_typeofcontact</ns1:LogicalName>
<ns1:RetrieveAsIfPublished>false</ns1:RetrieveAsIfPublished>
</ns1:Request>
</ns1:Execute>
</ns0:Body>
</SOAP-ENV:Envelope>
DEBUG:suds.client:headers = {'SOAPAction': u'"http://schemas.microsoft.com/crm/2007/WebServices/Execute"', 'Content-Type': 'text/xml'}
DEBUG:suds.transport.http:sending:
URL:https://service.host/MSCrmServices/2007/MetadataService.asmx
HEADERS: {'SOAPAction': u'"http://schemas.microsoft.com/crm/2007/WebServices/Execute"', 'Content-Type': 'text/xml', 'Content-type': 'text/xml', 'Soapaction': u'"http://schemas.microsoft.com/crm/2007/WebServices/Execute"'}
MESSAGE:
<SOAP-ENV:Envelope xmlns:ns0="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://schemas.microsoft.com/crm/2007/WebServices" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Header/>
<ns0:Body>
<ns1:Execute>
<ns1:Request xsi:type="ns1:RetrieveAttributeRequest">
<ns1:MetadataId>00000000-0000-0000-0000-000000000000</ns1:MetadataId>
<ns1:EntityLogicalName>opportunity</ns1:EntityLogicalName>
<ns1:LogicalName>new_typeofcontact</ns1:LogicalName>
<ns1:RetrieveAsIfPublished>false</ns1:RetrieveAsIfPublished>
</ns1:Request>
</ns1:Execute>
</ns0:Body>
</SOAP-ENV:Envelope>
C-c C-cTraceback (most recent call last):
File "sudstest2.py", line 40, in <module>
attr = metadata_client.service.Execute(mdRequest(*picklist))
File "/Users/crose/virtualenv/advanis/lib/python2.6/site-packages/suds/client.py", line 539, in __call__
return client.invoke(args, kwargs)
File "/Users/crose/virtualenv/advanis/lib/python2.6/site-packages/suds/client.py", line 598, in invoke
result = self.send(msg)
File "/Users/crose/virtualenv/advanis/lib/python2.6/site-packages/suds/client.py", line 623, in send
reply = transport.send(request)
File "/Users/crose/virtualenv/advanis/lib/python2.6/site-packages/suds/transport/https.py", line 64, in send
return HttpTransport.send(self, request)
File "/Users/crose/virtualenv/advanis/lib/python2.6/site-packages/suds/transport/http.py", line 77, in send
fp = self.u2open(u2request)
File "/Users/crose/virtualenv/advanis/lib/python2.6/site-packages/suds/transport/http.py", line 118, in u2open
return url.open(u2request, timeout=tm)
File "/usr/local/Cellar/python/2.6.5/lib/python2.6/urllib2.py", line 397, in open
response = meth(req, response)
File "/usr/local/Cellar/python/2.6.5/lib/python2.6/urllib2.py", line 510, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/local/Cellar/python/2.6.5/lib/python2.6/urllib2.py", line 429, in error
result = self._call_chain(*args)
File "/usr/local/Cellar/python/2.6.5/lib/python2.6/urllib2.py", line 369, in _call_chain
result = func(*args)
File "/Users/crose/virtualenv/advanis/src/python-ntlm/ntlm/HTTPNtlmAuthHandler.py", line 96, in http_error_401
return self.http_error_authentication_required('www-authenticate', req, fp, headers)
File "/Users/crose/virtualenv/advanis/src/python-ntlm/ntlm/HTTPNtlmAuthHandler.py", line 35, in http_error_authentication_required
return self.retry_using_http_NTLM_auth(req, auth_header_field, None, headers)
File "/Users/crose/virtualenv/advanis/src/python-ntlm/ntlm/HTTPNtlmAuthHandler.py", line 80, in retry_using_http_NTLM_auth
response = h.getresponse()
File "/usr/local/Cellar/python/2.6.5/lib/python2.6/httplib.py", line 986, in getresponse
response.begin()
File "/usr/local/Cellar/python/2.6.5/lib/python2.6/httplib.py", line 391, in begin
version, status, reason = self._read_status()
File "/usr/local/Cellar/python/2.6.5/lib/python2.6/httplib.py", line 349, in _read_status
line = self.fp.readline()
File "/usr/local/Cellar/python/2.6.5/lib/python2.6/socket.py", line 397, in readline
data = recv(1)
File "/usr/local/Cellar/python/2.6.5/lib/python2.6/ssl.py", line 96, in <lambda>
self.recv = lambda buflen=1024, flags=0: SSLSocket.recv(self, buflen, flags)
File "/usr/local/Cellar/python/2.6.5/lib/python2.6/ssl.py", line 217, in recv
return self.read(buflen)
File "/usr/local/Cellar/python/2.6.5/lib/python2.6/ssl.py", line 136, in read

KeyboardInterrupt

最终,在等待相当长的时间后,我收到连接错误 54 - 连接被对等方重置。

我最好的调试方法是什么?

最佳答案

我最好的猜测是它在 http header 中得到了一些东西,这让它变得困惑。您可以尝试在启用调试/详细设置的情况下使用 wget 或 curl 进行相同的调用,然后查看它们返回的内容。

也可能是快速连续多次登录服务。我以前遇到过这个问题,但它可能不是,而是其他需要检查的东西。

关于Python SSL 通信在读取时挂起,然后发出错误 54 - connection reset by peer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3301501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com