[解決済み] pythonでrequestsを使用する際にローカルの発行者証明書を取得できない
質問
以下は私のコードです。
import requests;
url='that website';
headers={
'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Accept-Language':'zh-CN,zh;q=0.9,en;q=0.8,ja;q=0.7',
'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
};
r = requests.get(url,headers=headers);
print(r);
print(r.status_code);
を実行すると、このようになりました。
requests.exceptions.SSLError:
HTTPSConnectionPool(host='www.xxxxxx.com', port=44 3)を使用しています。
url で最大再試行回数を超えました。xxxxxxxx (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED]'))
certificate verify failed: unable to get local issuer certificate (_ssl.c:1045)'))
どうすればいいのでしょうか?
解決方法は?
推奨しません
を使用することです。
verify = False
を、あなたの組織の環境で使用してください。これは、本質的にSSL検証を無効にすることです。
会社のプロキシを経由している場合、プロキシの証明書チェーンに置き換わってしまうことがあります。certifiが使用するcacert.pemに証明書を追加することで問題が解決するはずです。私も同じような問題がありました。以下は、私がこの問題を解決するために行ったことです。
- cacert.pemがあるパスを検索してください。
certifiをインストールしていない場合は、インストールします。コマンドを実行します。
pip install certifi
import certifi
certifi.where()
C:\\Users\\[UserID]\\AppData\\Local\\Programs\\Python\\Python37-32\\lib\\site-packages\\certifi\\cacert.pem
-
ブラウザでURLを開いてください。URLから証明書のチェーンをダウンロードし、Base64エンコードされた.cerファイルとして保存します。
-
次に、メモ帳で cacert.pem を開き、ダウンロードした証明書の内容をすべて追加します (
---Begin Certificate--- *** ---End Certificate---
) を末尾に追加してください。
関連
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み】TypeError: re.findall()でバイトのようなオブジェクトに文字列パターンを使用することはできません。)
-
[解決済み】 NameError: グローバル名 'xrange' は Python 3 で定義されていません。
-
[解決済み】インポートエラー。モジュール名 urllib2 がない
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで文字列の部分文字列を取得するにはどうすればよいですか?
-
[解決済み] Python RequestsでJSONデータをPOSTする方法とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
python call matlab メソッドの詳細
-
Python jiabaライブラリの使用方法について説明
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
[解決済み】TypeError: unhashable type: 'numpy.ndarray'.
-
[解決済み] [Solved] sklearn error ValueError: 入力に NaN、infinity または dtype('float64') に対して大きすぎる値が含まれている。
-
[解決済み] builtins.TypeError: strでなければならない、bytesではない
-
[解決済み】LogisticRegression: Pythonでsklearnを使用して、未知のラベルタイプ: '連続'を使用しています。
-
[解決済み】ValueError: pickleプロトコルがサポートされていません。3、python2 pickleはpython3 pickleでダンプしたファイルを読み込むことができない?
-
[解決済み] MacのChromeから証明書をエクスポートする方法は?
-
[解決済み】スクレイピング。SSL: CERTIFICATE_VERIFY_FAILED エラーが http://en.wikipedia.org で発生する。