"сброс соединения по одноранговой сети" на Google, но не на том же сайте - PullRequest
0 голосов
/ 21 мая 2018

У меня есть следующий код, работающий на моем сервере AWS EC2, а также на моем вычислительном движке Google Cloud (GCP) в качестве теста.(Мне нужно списать EC2 для Google)

Telnet работает как из AWS, так и из GCP, но при попытке подключения:

  • AWS успешно (получает данные)
  • Сбой GCP с «Сброс соединения по одноранговым узлам»

Код, который запускается для теста:

import requests, json
import datetime as dt

epoch_date = int((dt.datetime(2018,2,21) - dt.datetime(1970,1,1)).total_seconds())
url = 'https://www.zacks.com/includes/classes/z2_class_calendarfunctions_data.php?calltype=eventscal&date={}&type=1'.format(epoch_date)
req = requests.get(url)
data = req.text
print(data[0:100])

Исключение, которое я получаю на GCP: (AWS Left, Google Right)

enter image description here

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 376, in send
    timeout=timeout
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 610, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/usr/lib/python3/dist-packages/urllib3/util/retry.py", line 247, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/home/karunkrishna/.local/lib/python3.5/site-packages/six.py", line 692, in reraise
    raise value.with_traceback(tb)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 560, in urlopen
    body=body, headers=headers)
  File "/usr/lib/python3/dist-packages/urllib3/connectionpool.py", line 379, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/lib/python3.5/http/client.py", line 1197, in getresponse
    response.begin()
  File "/usr/lib/python3.5/http/client.py", line 297, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.5/http/client.py", line 258, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/lib/python3.5/socket.py", line 575, in readinto
    return self._sock.recv_into(b)
  File "/usr/lib/python3.5/ssl.py", line 929, in recv_into
    return self.read(nbytes, buffer)
  File "/usr/lib/python3.5/ssl.py", line 791, in read
    return self._sslobj.read(len, buffer)
  File "/usr/lib/python3.5/ssl.py", line 575, in read
    v = self._sslobj.read(len, buffer)
requests.packages.urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))

Интересно, указывает ли это на проблему SSL / рукопожатия на сервере Google.Но я не знаю, как это исправить.Не уверен, почему Zacks.com ограничивает Google IP, но не AWS IP.Брандмауэры включены как для AWS, так и для GCP.Любые мысли о том, как я могу это исправить?Или что еще мне стоит изучить?

...