یک اسکریپت پایتون بنویسید که یک 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 را برمی‌گرداند.

توسط پژوهشگر در 221 روز قبل ساعت 01:21
دسته بندی ها: Python Python for beginner
arman در 221 روز قبل ساعت 13:33

اول از همه مطمئن شوید URL با https آغاز می‌شود و در صورت نبودن، پیام خطای روشن بدهید. استفاده از timeout مناسب برای درخواست و اتصال TLS کیفیت نرم‌افزار را بالا می‌برد و از hang جلوگیری می‌کند. با getpeercert(binary_form=False) می‌توانید issuer، notBefore و notAfter را بخوانید و تاریخ اعتبار را بررسی کنید. اگر از requests استفاده می‌کنید، headerهای پاسخ را با requests.get(url, timeout=...).headers چاپ کنید و استثناهای شبکه یا SSL را مدیریت کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری