以下脚本应该在启动Google Compute Engine实例(使用Container-Optimized OS映像)并且dockerized应用正常运行时将数据发送到url。 不幸的是,即使无法发布数据,该数据也会在应用运行时被接收。
输出为:
('错误', ConnectionError(MaxRetryError(“ HTTPConnectionPool(host = '34 .7.8.8', port = 12345):网址:/didi.json超过了最大重试次数(由 NewConnectionError(':无法建立新的连接:[Errno 111] 连接被拒绝',))“,),))
它来自GCE吗?
这是python代码:
for i in range(0,100):
while True:
try:
response = requests.post('http://%s:12345/didi.json' % ip_of_instance, data=data)
except requests.exceptions.RequestException as err:
print ("Error",err)
time.sleep(2)
continue
break
编辑-以下是发布请求的参数:
data = {
'url': 'www.website.com',
'project': 'webCrawl',
'spider': 'indexer',
'setting': 'ELASTICSEARCH_SERVERS=92.xx.xx.xx',
'protocol': 'https',
'scraper': 'light'
}
答案 0 :(得分:1)
我看到的是您使用的是while true循环,当它超过最大重试次数时,会收到一条错误消息,因为您被服务器禁止了,但是这种状态不会永远持续下去,并且当禁止被删除时,您开始获得更多数据,因为它们仍在运行。
如果我的理论不对,您可以看看另一个话题。