Ошибка Python SSL. Не удалось расшифровать или неверная запись Mac.Python

Программы на Python
Ответить
Anonymous
 Ошибка Python SSL. Не удалось расшифровать или неверная запись Mac.

Сообщение Anonymous »

Я пытаюсь использовать модуль Python gspread для чтения электронной таблицы Google. Но я получаю ошибку от SSL. Я пытался разобраться в этом, но не смог заставить это работать. Модуль gspread использует внутренний запрос Python, который, похоже, использует пакет SSL Python. Код (написанный мной) и трассировка стека приведены ниже с подробностями окружения.
Env:
  • python: 2.7.13
  • Ubuntu: 14.04
  • openssl: 1.0.1f 6 января 2014 г.
Код:

Код: Выделить всё

import gspread
from oauth2client.client import SignedJwtAssertionCredentials

scope = ['https://spreadsheets.google.com/feeds']
credentials = SignedJwtAssertionCredentials(user_email, private_key, scope)
google_client = gspread.authorize(credentials)

worksheet = google_client.open_by_url().get_worksheet(1)

list_of_rows = worksheet.get_all_values()

print list_of_rows
Трассировка стека:

Код: Выделить всё

File "", line 1, in 
File "/home/nikhil/.venv/nikhil/src/gspread/gspread/models.py", line 344, in get_all_values
cells = self._fetch_cells()
File "/home/nikhil/.venv/nikhil/src/gspread/gspread/models.py", line 231, in _fetch_cells
feed = self.client.get_cells_feed(self)
File "/home/nikhil/.venv/nikhil/src/gspread/gspread/client.py", line 186, in get_cells_feed
r = self.session.get(url)
File "/home/nikhil/.venv/nikhil/src/gspread/gspread/httpsession.py", line 76, in get
return self.request('GET', url, **kwargs)
File "/home/nikhil/.venv/nikhil/src/gspread/gspread/httpsession.py", line 68, in request
response = func(url, data=data, headers=request_headers, verify=False)
File "/home/nikhil/.venv/nikhil/lib/python2.7/site-packages/requests/sessions.py", line 469, in get
return self.request('GET', url, **kwargs)
File "/home/nikhil/.venv/nikhil/lib/python2.7/site-packages/requests/sessions.py", line 457, in request
resp = self.send(prep, **send_kwargs)
File "/home/nikhil/.venv/nikhil/lib/python2.7/site-packages/requests/sessions.py", line 606, in send
r.content
File "/home/nikhil/.venv/nikhil/lib/python2.7/site-packages/requests/models.py", line 724, in content
self._content = bytes().join(self.iter_content(CONTENT_CHUNK_SIZE)) or bytes()
File "/home/nikhil/.venv/nikhil/lib/python2.7/site-packages/requests/models.py", line 653, in generate
for chunk in self.raw.stream(chunk_size, decode_content=True):
File "/home/nikhil/.venv/nikhil/lib/python2.7/site-packages/requests/packages/urllib3/response.py", line 256, in stream
data = self.read(amt=amt, decode_content=decode_content)
File "/home/nikhil/.venv/nikhil/lib/python2.7/site-packages/requests/packages/urllib3/response.py", line 186, in read
data = self._fp.read(amt)
File "/usr/local/lib/python2.7.13/lib/python2.7/httplib.py", line 573, in read
return self._read_chunked(amt)
File "/usr/local/lib/python2.7.13/lib/python2.7/httplib.py", line 642, in _read_chunked
value.append(self._safe_read(chunk_left))
File "/usr/local/lib/python2.7.13/lib/python2.7/httplib.py", line 688, in _safe_read
chunk = self.fp.read(min(amt, MAXAMOUNT))
File "/usr/local/lib/python2.7.13/lib/python2.7/socket.py", line 384, in read
data = self._sock.recv(left)
File "/usr/local/lib/python2.7.13/lib/python2.7/ssl.py", line 766, in recv
return self.read(buflen)
File "/usr/local/lib/python2.7.13/lib/python2.7/ssl.py", line 653, in read
v = self._sslobj.read(len)
SSLError: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:1864)
ОБНОВЛЕНИЕ:
Я настроил все с нуля на новом компьютере, а также обновил клиент oauth для использования новой версии API. Я не смог заставить приведенный выше env работать, поэтому пока оставляю этот вопрос открытым.

Подробнее здесь: https://stackoverflow.com/questions/417 ... record-mac
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»