Python connexion SSL “EOF eu lieu en violation du protocole”
Je suis en utilisant Django Céleri tâche de se connecter à Facebook API Graphique avec les demandes lib à l'aide de Gevent. Question, je suis constamment en cours d'exécution est que chaque maintenant et puis je obtenir des expressions du FOLKLORE eu lieu en violation du protocole d'exception. J'ai cherché partout et de différentes sources d'offrir différents correctifs, mais aucune ne semble fonctionner.
J'ai essayé de singe de la correction du module ssl(gevent.le singe.patch_all()) et quelques autres aussi, mais pas de chance.
Je ne suis même pas sûr si c'est openssl question que certaines sources pourrait donner à penser que je n'ai pas rencontré avant l'application Gevent optimisation
Connection error: [Errno 8] _ssl.c:504: EOF occurred in violation of protocol
Traceback (most recent call last):
File "/home/user/workspace/startup/project/events/tasks.py", line 52, in _process_page
data = requests.get(current_url)
File "/home/user/workspace/startup/env/local/lib/python2.7/site-packages/requests/api.py", line 55, in get
return request('get', url, **kwargs)
File "/home/user/workspace/startup/env/local/lib/python2.7/site-packages/requests/api.py", line 44, in request
return session.request(method=method, url=url, **kwargs)
File "/home/user/workspace/startup/env/local/lib/python2.7/site-packages/requests/sessions.py", line 354, in request
resp = self.send(prep, **send_kwargs)
File "/home/user/workspace/startup/env/local/lib/python2.7/site-packages/requests/sessions.py", line 460, in send
r = adapter.send(request, **kwargs)
File "/home/user/workspace/startup/env/local/lib/python2.7/site-packages/requests/adapters.py", line 250, in send
raise SSLError(e)
SSLError: [Errno 8] _ssl.c:504: EOF occurred in violation of protocol
Je suis en utilisant les dernières 1.0 rc Gevent version.
Une autre question qui maintient poping up de temps en temps, bien que l'URL est correcte est:
Nouvelle tentative (5 tentatives demeurent) après connexion interrompue par 'erreur(2, 'Aucun fichier ou répertoire')': /ID/events?limit=5000&fields=description,name,location,start_time,end_time&access_token=TOKEN
- avez-vous essayé forcer TLSv1 comme suggéré ici?
- Je vais essayer cette correction. Mon seul souci est que lors de l'exécution de la tâche avec Gevent de la taille du Pool=1 je n'ai pas toutes les erreurs, mais lorsque j'essaie d'exécuter plus (2 à 10) les erreurs plus communes (réseau inaccessible, EOF erreur ssl, aucun fichier ou répertoire). Donc, pour moi, il semble que son gevent problème?
- Je ne connais pas l'état actuel de
gevent
/requests
de compatibilité. Avez-vous essayégrequests
? - Le TLSv1 force fix semble faire l'affaire, il n'y a pas plus d'erreurs SSL. Mais...avec ce correctif est activé, je reçois l'erreur OperationalError: impossible d'ouvrir le fichier de base de données (à l'aide de sqllite3) après environ 7k écrit à la base de données. Ce qui est bizarre, car cette erreur est censé se passer dès le début si le céleri n'ai pas accès à la db et non pas après 7k transactions réussies...
- Bizarre, j'obtiens cette erreur à l'aide de mon téléphone wifi/tethering et FTPS, mais PAS du tout le même code et la norme wifi.
Vous devez vous connecter pour publier un commentaire.
À l'aide de l'forcé TLSv1 fix comme l'a suggéré J. F Sebastian fixe toutes les questions qui me faisait face.
Conseils pour les futures questions concernant:
DNSError exception - de la mise à niveau Gevent de 0,13.X 1.0 rc, résout ce problème
Problèmes SSL - chercher à résoudre en lien fourni par J. F Sebastian
J'ai installé la dernière version de Python 2.7 (2.7.11) et le problème a disparu. Je crois que le problème pourrait même être résolu de retour dans 2.7.6 (j'ai été en utilisant 2.7.5 sur Mac OSX).
J'ai eu le même message d'erreur lors de l'extraction de tweets pour mon apprentissage de la machine . Faire le pip de l'installation de la suite m'a aidé. Cela fonctionne:
Elle a enlevé mon SSLError: EOF eu lieu en violation de protocole (_ssl.c:590) erreur.
Espère que cela aide.