Melumpuhkan Semakan Sijil Keselamatan dalam Permintaan Python
Untuk mengelakkan ralat SSL apabila mengakses tapak web dengan sijil tamat tempoh semasa menggunakan perpustakaan permintaan Python, bendera pengesahan boleh ditetapkan kepada Palsu. Secara lalai, permintaan mengesahkan sijil SSL pelayan untuk memastikan sambungan selamat, tetapi pengesahan ini boleh dipintas.
Untuk melumpuhkan pengesahan sijil, hanya lulus verify=False sebagai hujah kepada kaedah siaran:
<code class="python">import requests requests.post(url='https://foo.example', data={'bar':'baz'}, verify=False)</code>
Menggunakan Pengurus Konteks untuk Hilang Upaya Berterusan
Jika anda perlu melumpuhkan pengesahan sijil secara kekal untuk semua permintaan, anda boleh menggunakan pengurus konteks:
<code class="python">import requests from urllib3.exceptions import InsecureRequestWarning import contextlib @contextlib.contextmanager def no_ssl_verification(): warnings.simplefilter('ignore', InsecureRequestWarning) old_settings = requests.Session.merge_environment_settings requests.Session.merge_environment_settings = lambda *args, **kwargs: (dict(args[5] or {}), False) try: yield finally: requests.Session.merge_environment_settings = old_settings with no_ssl_verification(): requests.get('https://wrong.host.badssl.example/')</code>
Pertimbangan
Perlu diingat bahawa melumpuhkan pengesahan sijil melemahkan keselamatan permohonan anda. Adalah disyorkan untuk berbuat demikian hanya apabila mengakses tapak web yang anda percayai atau dalam persekitaran terkawal di mana keselamatan bukan kebimbangan utama.
Atas ialah kandungan terperinci Bagaimana untuk Melumpuhkan Pemeriksaan Sijil SSL dalam Permintaan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!