Ulaşım
- Adres:Batıkent Mh. 8910 Sk. 6. Etap 1H No: 18 Yeni Toki Eyyübiye / Şanlıurfa (Yeni Alım Satım Karşısı)
- Telefon:0 (545) 528 88 93
- eMail: info@alestaweb.com
Python'da "SSL: CERTIFICATE_VERIFY_FAILED" hatası mı alıyorsunuz (getting SSL certificate error)? Alesta Web olarak bu hatayı 5 dakikada çözmenize yardımcı olacağız. Bu SSL hatası (SSL error), özellikle pip install, requests kütüphanesi veya web scraping işlemlerinde çok yaygındır. Hadi birlikte bakalım nasıl çözeceğiz!
Python'da SSL CERTIFICATE_VERIFY_FAILED hatası (certificate verification error), Python'un HTTPS bağlantısı kurduğu web sitesinin SSL sertifikasını doğrulayamaması durumunda ortaya çıkar. Alesta Web ekibi olarak binlerce kullanıcının bu hatayla karşılaştığını gördük.
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED]
certificate verify failed: unable to get local issuer certificate (_ssl.c:1129)
# veya / or
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED]>
Bu hata (this error) genellikle şu durumlarda görülür:
pip install paket-adi komutu çalıştırırkenrequests.get() ile HTTPS sitesine istek atarkenAlesta Web olarak yaptığımız analizlere göre, bu hatanın (SSL error) en yaygın 5 sebebi şunlar:
Hatayı çözmeden önce hangi durumda aldığınızı belirleyin (identify the scenario). pip install sırasında mı, yoksa kod çalıştırırken mi? Bu, doğru çözümü seçmenizi sağlar.
En basit ve etkili çözüm (most effective solution)! Python'un requests kütüphanesi, SSL sertifikalarını doğrulamak için certifi paketini kullanır. Alesta Web deneyimlerimize göre, %70 durumda bu yöntem sorunu çözer.
# Windows, Linux, MacOS için / for all platforms
pip install --upgrade certifi
# veya pip3 kullanıyorsanız / or if using pip3
pip3 install --upgrade certifi
python -c "import certifi; print(certifi.where())"
Bu komut (this command), sertifika dosyasının yolunu gösterir. Örnek çıktı (sample output):
C:\Users\USERNAME\AppData\Local\Programs\Python\Python312\Lib\site-packages\certifi\cacert.pem
python -c "import requests; print(requests.get('https://www.google.com').status_code)"
200 çıktısı alırsanız sorun çözülmüş demektir!
Eski Python versiyonları (old Python versions) güncel SSL protokollerini desteklemez. Alesta Web olarak Python 3.10 veya üstü kullanmanızı öneriyoruz.
python --version
# OpenSSL versiyonu / OpenSSL version
python -c "import ssl; print(ssl.OPENSSL_VERSION)"
Eğer Python 3.8'den eski kullanıyorsanız (if using older than 3.8):
Python 3.13 (2025'te çıktı) en güncel SSL/TLS desteğine sahip. Yeni projeler için bu versiyonu tercih edin (prefer this version for new projects).
Şirket ağlarında veya özel durumlarda (in corporate networks), SSL sertifikasının yolunu manuel belirtmeniz gerekebilir.
import requests
import certifi
# Sertifika yolunu belirt / specify certificate path
response = requests.get(
'https://example.com',
verify=certifi.where()
)
print(response.status_code)
import requests
# Şirket sertifikası / corporate certificate
response = requests.get(
'https://internal-api.company.com',
verify='/path/to/company-cert.pem'
)
Alesta Web olarak şunu kesinlikle önermiyoruz: verify=False kullanmak! Bu, SSL doğrulamasını tamamen kapatır (disables SSL verification completely) ve man-in-the-middle saldırılarına (MITM attacks) karşı savunmasız kalırsınız. Production kodunda ASLA kullanmayın!
# ❌ ASLA YAPMAYIN / NEVER DO THIS
requests.get('https://example.com', verify=False) # Tehlikeli!
Sadece pip install sırasında hata alıyorsanız (only during pip install), geçici bir çözüm (temporary solution) şu:
pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org paket-adi
# Örnek / Example
pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org requests
Bu yöntem güvenlik risklidir (security risk). Sadece acil durumlar için kullanın. Alesta Web olarak kalıcı çözüm için Yöntem 1 veya 2'yi öneririz.
Eğer sürekli bu parametreleri kullanmak istemiyorsanız (if you don't want to type these every time), pip yapılandırma dosyasına ekleyin:
# Windows: C:\Users\USERNAME\pip\pip.ini
# Linux/Mac: ~/.config/pip/pip.conf
[global]
trusted-host = pypi.org
files.pythonhosted.org
Windows kullanıcıları için (for Windows users), Python bazen işletim sistemi sertifika deposunu kullanmayabilir. Alesta Web çözümü:
# Python kurulum klasörüne gidin / navigate to Python installation folder
# Örnek: C:\Users\USERNAME\AppData\Local\Programs\Python\Python312
# Şu dosyayı çalıştırın / run this file
# Install Certificates.command (MacOS)
# veya / or
# pip.exe install --upgrade certifi
Python 3.6+ ile gelen Install Certificates.command scripti (certificate installation script), sistem sertifikalarını Python'a ekler.
# Terminal'de çalıştır / run in terminal
cd /Applications/Python\ 3.12/
./Install\ Certificates.command
Çözüm:
python -m pip install --upgrade certifi
Çözüm (Windows):
# Yönetici olarak çalıştır / run as administrator
pip install --upgrade certifi --user
Çözüm (Linux/Mac):
sudo pip3 install --upgrade certifi
Alesta Web İpucu: Python OpenSSL olmadan derlenmiş. Python'u yeniden yükleyin (reinstall Python) veya sistem paketlerinden OpenSSL kurun:
# Ubuntu/Debian
sudo apt-get install libssl-dev
# MacOS
brew install openssl
Kurumsal ortamlarda (in corporate environments) proxy ayarları da SSL hatalarına neden olabilir. Proxy kullanıyorsanız (if using proxy):
# Proxy ayarları / proxy settings
export HTTP_PROXY="http://proxy.company.com:8080"
export HTTPS_PROXY="http://proxy.company.com:8080"
# pip için / for pip
pip install --proxy=http://proxy.company.com:8080 paket-adi
Bu makalede kullanılan bilgiler aşağıdaki güvenilir kaynaklardan alınmıştır (information used from reliable sources):
Alesta Web olarak tüm bilgileri doğruladık ve test ettik (we verified and tested all information).
Artık Python SSL CERTIFICATE_VERIFY_FAILED hatası (SSL certificate error) geride kaldı! Alesta Web olarak bu rehberde 5 farklı çözüm yöntemi anlattık. Çoğu durumda Yöntem 1 (certifi güncelleme) yeterli olacaktır.
Hızlı Özet / Quick Summary:
Production kodunda ASLA verify=False kullanmayın (never use verify=False in production)! Bu, sisteminizi güvenlik açıklarına karşı savunmasız bırakır.
Faydalı Linkler / Useful Links:
© 2025 AlestaWeb - Tüm hakları saklıdır. / All rights reserved.