加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – App Engine支持客户端证书

发布时间:2020-12-20 13:32:58 所属栏目:Python 来源:网络整理
导读:我正在开发一个谷歌应用程序引擎应用程序,我需要使用SOAP连接到Web服务.我正在使用pysimplesoap(使用找到的代码 here修补)来解析xml,并使用客户端证书发出请求. 当我在本地环境的简单单元测试中执行此操作时,它可以正常工作,并且我从Web服务获得了适当的响应
我正在开发一个谷歌应用程序引擎应用程序,我需要使用SOAP连接到Web服务.我正在使用pysimplesoap(使用找到的代码 here修补)来解析xml,并使用客户端证书发出请求.
当我在本地环境的简单单元测试中执行此操作时,它可以正常工作,并且我从Web服务获得了适当的响应.
但是,当我从app引擎中运行完全相同的代码时,我得到了这个:

File "/Users/me/Documents/workspace/blixem/model/communicate/communication_channel.py",line 60,in generate_soap_message_pysimplesoap
    response = client.SendDocument('LA.XML','TESTCASE','data')
  File "/Users/me/Documents/workspace/blixem/lib/pysimplesoap/client.py",line 152,in <lambda>
    return lambda *args,**kwargs: self.wsdl_call(attr,*args,**kwargs)
  File "/Users/me/Documents/workspace/blixem/lib/pysimplesoap/client.py",line 320,in wsdl_call
    response = self.call(method,*params)
  File "/Users/me/Documents/workspace/blixem/lib/pysimplesoap/client.py",line 215,in call
    self.xml_response = self.send(method,self.xml_request)
  File "/Users/me/Documents/workspace/blixem/lib/pysimplesoap/client.py",line 241,in send
    location,"POST",body=xml,headers=headers )
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/httplib2/httplib2/__init__.py",line 1457,in request
    self.disable_ssl_certificate_validation)
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/httplib2/httplib2/__init__.py",line 1143,in __init__
    strict,timeout,proxy_info,ca_certs,disable_ssl_certificate_validation)
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/lib/httplib2/httplib2/__init__.py",line 1092,in __init__
    raise NotSupportedOnThisPlatform()
NotSupportedOnThisPlatform

我做了一些阅读,发现在urlfetch服务中还没有支持客户端证书.这仍然是这样吗?如果是这样,是否有解决方法?

解决方法

GAE目前不支持客户端证书.您可以通过HTTPS使用URLFetch服务.但是你不能使用客户端证书.您应该尝试 trusted tester program中当前可用的 Outbound Sockets Support feature.它可能会将您正在寻找的功能列入白名单.我问 a similar question for GAE/J before.

如果您确实需要它,请使用出站套接字功能或在EC2中运行代理.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读