Pengesahan Sijil Gagal: Menyelesaikan Masalah Ralat SSL dalam Mengikis
Apabila mengikis tapak web yang menggunakan protokol Secure Socket Layer (SSL), pembangun mungkin menghadapi Ralat "CERTIFICATE_VERIFY_FAILED". Ralat ini menunjukkan bahawa pengesahan sijil SSL tapak web telah gagal.
Satu contoh biasa ralat ini berlaku apabila cuba mengikis Wikipedia menggunakan kod Python berikut:
<code class="python">import urllib.request import bs4 import re pages = set() def getLinks(pageUrl): global pages html = urllib.request.urlopen("http://en.wikipedia.org"+pageUrl) bsObj = bs4.BeautifulSoup(html) for link in bsObj.findAll("a", href=re.compile("^(/wiki/)")): if 'href' in link.attrs: if link.attrs['href'] not in pages: #We have encountered a new page newPage = link.attrs['href'] print(newPage) pages.add(newPage) getLinks(newPage) getLinks("")</code>
Apabila menjalankan ini kod, anda mungkin menghadapi ralat berikut:
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1049)>
Penyelesaian untuk Pengguna macOS
Jika anda menggunakan macOS, penyelesaian kepada ralat ini adalah mudah. Navigasi ke Macintosh HD > Aplikasi > Folder Python 3.6 (atau mana-mana versi Python yang anda gunakan) dan klik dua kali pada fail "Install Certificates.command". Perintah ini akan memasang sijil yang diperlukan ke dalam rantai kunci sistem anda.
Selepas menjalankan arahan ini, ralat "CERTIFICATE_VERIFY_FAILED" tidak akan muncul lagi apabila mengikis Wikipedia atau tapak web yang dilindungi SSL yang lain.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \'CERTIFICATE_VERIFY_FAILED\' Apabila Mengikis Tapak Web dengan SSL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!