2017-07-19 6 views
0

これはこれまでの私のコードです。なぜこれが起こっされる可能性がありますPythonでリクエストを使用すると、次のエラー「TLSV1_ALERT_PROTOCOL_VERSION」が発生します。なぜこれが起こっているのでしょうか?

TLSV1_ALERT_PROTOCOL_VERSION. 

:?Pythonでの要求を使用している場合、私は次のエラーを与えていますか

import requests 

def lambda_handler(event, context): 

    # context = ssl.OPENSSL_VERSION_INFO 

    # print(context) 
    # if event['session']['application']['applicationId'] != app_id: 
    #  raise ValueError("Invalid Application ID") 

    token = requests.post(html, data={'apikey': api_key}, auth=(username, password), verify=False) 

    print(token.text) 
    payload = {'token': token} 

    requests.post(html_step_two, data=payload, verify=False) 

    payload = {'token': token, 'workflow_id': workflow_id} 
    requests.post(workflow_run, data=payload, verify=False) 

    return 'Hello from Lambda' 

答えて

1

使用しているOpenSSLのバージョンは言及していませんが、おそらく原因です!それはかなり一般的な問題であり、openSSLとPythonの両方をクリーンインストールすることによって最も良く解決されるようです。

は、使用しているのOpenSSLバージョンを確認するには、あなたのPythonのターミナルに移動し、OpenSSLの情報は、あなたが問題が発生する可能性がありOpenSSL 0.9.8zh 14 Jan 2016であるとして返送された場合

import platform 
import ssl 

print("Python info: %s" % (platform.python_version())) 
print("OpenSSL info: %s" % (ssl.OPENSSL_VERSION)) 

を入力します。私のMacでは、これはOpenSSL 1.0.2j 26 Sep 2016を返します。これは過去に使用した他のリクエストアプリケーションで動作します。

解決策は、おそらくopenSSLをアンインストールして再インストールすることです。ただし、OpenSSLに関してはbenefitting from an update released last Septemberではない可能性があるので、brewのインストールをアップグレードしたいと思うかもしれません。

ウェブ上のいくつかの例を見た後、私は(他の問題が存在しないと仮定した場合)opensslを再インストールし、brewをアップグレードするための最もストレートフォワードおよび包括的な方法を信じて実行することです:

brew uninstall openssl 

そして最後に

を実行する前に、

brew update && brew upgrade && brew cleanup && brew doctor 

は、brew doctorに育てすべての問題を解決するために時間を割いて

これにより、OpenSSLの最新バージョンが確実に実行され、問題の解決に役立ちます。

ここでは、をアップグレードすると、インストールされているすべてのパッケージが最新のバージョンに更新されます。他のコーディングプロジェクトの一部が、以前のバージョンのbrewに含まれる廃止されたパッケージに依存している場合、これは理想的ではありません。私はそれが大きな問題ではないと思うが、ただのFYI!

このOpenSSLのアンインストールが動作しない場合は、other waysがありますが、上記の解決策が機能しない場合、大きな問題があると思います。

希望すると助かります!

ソース

+0

オーケーのopensslの私の醸造のバージョンが更新されるようになりましたが、Pythonのバージョンがされていません。私は様々なソリューションをオンラインで試しましたが、どれも動作していないようです。具体的には、私はbashプロファイルのパスを/ usr/local/bin /に変更しようとしましたが、python --with-brewed-opensslをインストールしようとしましたが、どちらもうまくいきませんでした。 –

+0

'brew upgrade'も実行しましたか? – cosinepenguin

+0

ええ、私はしました。私は今いくつかのことを試しましたが、まだそれを修正していません。 –

関連する問題