یک اسکریپت پایتون بنویسید که یک URL با پروتکل HTTPS را گرفته، هدرهای پاسخ HTTP را نمایش دهد و اطلاعات گواهی SSL سرور (صادرکننده، تاریخ شروع و پایان اعتبار) را استخراج و چاپ کند.
3.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:21 0.0
برای حل این مسئله میتوانید از کتابخانه requests برای دریافت هدرها (requests.get(url).headers) و از ماژولهای استاندارد ssl و socket برای برقراری اتصال TLS و خواندن گواهی استفاده کنید: با urllib.parse.host استخراج hostname، اتصال TCP به پورت 443 ایجاد کنید، آن را با ssl.create_default_context().wrap_socket ببندید و از getpeercert() برای گرفتن اطلاعات گواهی استفاده کنید. نکات: بررسی کنید URL حتماً با https شروع شده باشد، timeout و مدیریت استثناها را اضافه کنید، و برای سطح مبتدی از getpeercert(binary_form=False) استفاده کنید که فیلدهای readable مانند issuer، notBefore و notAfter را برمیگرداند.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
اول از همه مطمئن شوید URL با https آغاز میشود و در صورت نبودن، پیام خطای روشن بدهید. استفاده از timeout مناسب برای درخواست و اتصال TLS کیفیت نرمافزار را بالا میبرد و از hang جلوگیری میکند. با getpeercert(binary_form=False) میتوانید issuer، notBefore و notAfter را بخوانید و تاریخ اعتبار را بررسی کنید. اگر از requests استفاده میکنید، headerهای پاسخ را با requests.get(url, timeout=...).headers چاپ کنید و استثناهای شبکه یا SSL را مدیریت کنید.
گزارش