从代理后的google pub/sub中提取消息时,获取SSLV3_警报_握手_失败 环境详情 操作系统类型和版本:MacOs 10.12.6(也尝试在CentOs上运行) Python版本:3.7.1 pip版本:10.0.1 googlecloudp
从代理后的google pub/sub中提取消息时,获取SSLV3_警报_握手_失败 环境详情从代理后的google pub/sub中提取消息时,获取SSLV3_警报_握手_失败 环境详情 操作系统类型和版本:MacOs 10.12.6(也尝试在CentOs上运行) Python版本:3.7.1 pip版本:10.0.1 googlecloudp,python,ssl,google-cloud-platform,grpc,google-cloud-pubsub,Python,Ssl,Google Cloud Platform,Grpc,Google Cloud Pubsub,从代理后的google pub/sub中提取消息时,获取SSLV3_警报_握手_失败 环境详情 操作系统类型和版本:MacOs 10.12.6(也尝试在CentOs上运行) Python版本:3.7.1 pip版本:10.0.1 googlecloudpubsubversion:2.1.0 代理类型:SSL拦截代理(Squid 3.x) 复制步骤 运行一个简单的pub/sub聊天机器人,如下所述: 使用操作系统设置代理: 运行:bot.py 代码示例 #/usr/bin/env蟒蛇3 #编码
- 操作系统类型和版本:MacOs 10.12.6(也尝试在CentOs上运行)
- Python版本:
3.7.1
- pip版本:
10.0.1
version:googlecloudpubsub
2.1.0
- 代理类型:SSL拦截代理(Squid 3.x)
#/usr/bin/env蟒蛇3
#编码:utf-8
导入日志、系统、操作系统、json、时间
从google.cloud导入pubsub_v1
从google.auth导入默认值
log=logging.getLogger(_名称__)
os.environ['http_proxy']='http://xx.xx.xx:PORT'
os.environ['https_proxy']='http://xx.xx.xx:PORT'
订阅\u ID='xxx'
os.environ['GOOGLE\u应用程序\u凭据]='xxx'
#os.environ['GRPC\u DEFAULT\u SSL\u root\u FILE\u PATH']='/xxx/cacert.crt'
def init_client():
尝试:
凭据,项目id=default()
subscriber=pubsub_v1.SubscriberClient()
订阅路径=订阅服务器。订阅路径(
项目id、订阅id)
除初始错误例外:
错误(f'初始化发布/订阅客户端时出错:{init_err}')
系统出口(1)
返回订阅服务器,订阅路径
def接收_消息():
log.info('订户已启动')
#初始化客户端
sub,sub_path=init_client()
#回调以处理拉取的消息
def回调(消息):
log.info(f'接收到的消息:{message.data}')
event=json.load(message.data)
ack=真
#处理消息(事件)
如果确认:
message.ack()
log.info('已完成的请求')
sub.subscribe(sub_路径,callback=callback)
info(f'listing for messages on{sub_path}')
#在等待消息时防止主线程退出
尽管如此:
时间。睡眠(60)
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
logging.basicConfig(
级别=logging.INFO,
样式=“{”,
格式=“{levelname:.1}{asctime}{filename}:{lineno}]{message}”)
接收_消息()
堆栈跟踪
注:
- 我也尝试过设置证书路径,但没有成功
- 如果我在代理之外运行整个代码,它可以正常工作
os.environ['http_proxy'] = 'http://xx.xx.xx:PORT'
os.environ['https_proxy'] = 'http://xx.xx.xx:PORT'
I2020-11-17 21:56:23,136 subscriber-sample.py:27] Subscriber Started
I2020-11-17 21:56:23,142 subscriber-sample.py:44] Listening for messages on projects/xxx/xxx
E1117 21:56:24.377381000 123145466556416 ssl_transport_security.cc:1439] Handshake failed with fatal error SSL_ERROR_SSL: error:10000410:SSL routines:OPENSSL_internal:SSLV3_ALERT_HANDSHAKE_FAILURE.
I2020-11-17 21:56:24,377 streaming_pull_manager.py:696] Observed non-terminating stream error 503 failed to connect to all addresses
I2020-11-17 21:56:24,378 streaming_pull_manager.py:674] Observed recoverable stream error 503 failed to connect to all addresses
I2020-11-17 21:56:24,379 bidi.py:487] Re-established stream
I2020-11-17 21:56:24,379 streaming_pull_manager.py:696] Observed non-terminating stream error 503 failed to connect to all addresses
I2020-11-17 21:56:24,379 streaming_pull_manager.py:674] Observed recoverable stream error 503 failed to connect to all addresses