2016-07-06 2 views
0

Я пытаюсь использовать urllib, urllib2 или запросы для получения конкретных данных с сайта. Я использую Python2.7. я получаю сообщение об ошибке:Используйте urllib или запрашивайте данные с URL-адреса

requests.exceptions.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 alert handshake failure (_ssl.c:590) 

Это мой код с запросами:

import requests 
    r = requests.get("https://metoc.ndbc.noaa.gov/jtwc#_48_INSTANCE_0SiamlX2KcM6_=https%3A%2F%2Fmetoc.ndbc.noaa.gov%2FProductFeeds-portlet%2Fimg%2Fjtwc%2Fhtml%2Fcoop.jsp%3F") 

Я попробовал все, но ничего не работает:

Я пытался установить параметр проверки на ложь. Я получаю ту же ошибку. Я попытался использовать адаптер (как описано в других ответах), чтобы использовать другую версию SSL. Я все равно получаю ту же ошибку.

Любые идеи в чем проблема? Может ли быть, что хост заблокировал доступ, и нет возможности получить источник для этого URL-адреса?

+3

Работы для меня. В основном я получаю кучу javascript. –

+0

Код отлично подходит для меня. –

+0

Какую под-версию Python 2.7 вы используете и какую версию какой ОС? – jwodder

ответ

2

All of them in macs with Yosemite or ElCapitan...

Эти версии до сих пор приходят с OpenSSL 0.9.8, так я думаю, что ваш питон связан с этой версией OpenSSL (питон не использует родной стек TLS в OS X). Но поскольку сервер поддерживает только шифры ECDHE, и они не поддерживаются OpenSSL 0.9.8, квитирование не сработает. Дополнительную информацию см. В разделе report from SSLLabs.

+0

Спасибо! Итак, какие у меня были бы варианты? – user1919

+0

@ user1919 upgrade your openssl ftp://ftp.openssl.org/source/ –

+0

@Padraic Cunningham Я обновил свой opensl, используя варево. Это не решило проблему! – user1919

Смежные вопросы